modeline-char 20170307.854(in MELPA)
In the mode-line, show the value of the character after point.

概要

あなたは、文字に対する
文字コードを知りたいとき
どうしますか?

標準コマンドの C-x =
( what-cursor-position )
を使えばわかりますね。

たとえば「あ」に対しては

Char: あ (12354, #o30102, #x3042, file ...) point=452 of 664 (68%) column=10

のようにエコーエリアに表示されます。

情報は左から

  • 現在文字
  • 10進数
  • 8進数
  • 16進数
  • エンコーディング情報(file) ASCII文字では表示されない
  • 現在位置
  • バッファサイズ
  • 現在の相対位置(%)
  • 現在桁

となります。

ときには、リアルタイムに
文字コードを知りたい場合があるでしょう。

そこで modeline-char.el を使えば、
モードラインに
カーソル位置の文字と文字コードを
16進数で表示します。

20170113071917.png
Fig1: 「あ」は0x003042

20170113071933.png
Fig2: 「T」は0x000054

そのためのマイナーモードが
2種類用意されています。

M-x mlc-char-in-mode-line-mode
カレントバッファのみ有効。
ローカルマイナーモード。
M-x mlc-char-in-mode-line-mode-global
全バッファで有効。
グローバルマイナーモード。

文字コード表示部分を
マウスクリックすることで、
以下が可能になります。

左クリック
C-u C-x = で得られる文字の詳細情報が表示される
中クリック
現在の文字をsecondary selectionにコピーする
右クリック
tooltipで現在の文字を表示する

設定不要でいきなり使えますが、
色はカスタマイズできます。

M-x customize-face RET Modeline
を実行してお好みの色にしてください。

貴重なモードラインをかなりの幅
占有してしまいますので、
常に有効にするのは僕としては
おすすめできません。

必要に応じて
M-x mlc-char-in-mode-line-mode
を実行しましょう。

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてmodeline-charを使う方は
以下のコマンドを実行します。

M-x package-install modeline-char

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name modeline-char


C-u C-x =で文字情報詳細表示

C-x =C-u をつけると、
別バッファに現在の文字の詳細情報が出てきます。

「あ」については以下の表示になります。

             position: 452 of 1580 (29%), column: 10
            character: あ (displayed as あ) (codepoint 12354, #o30102, #x3042)
    preferred charset: japanese-jisx0208 (JISX0208.1983/1990 Japanese Kanji: ISO-IR-87)
code point in charset: 0x2422
               script: kana
               syntax: w 	which means: word
             category: .:Base, H:2-byte Hiragana, L:Left-to-right (strong), c:Chinese, h:Korean, j:Japanese, |:line breakable
             to input: type "C-x 8 RET 3042" or "C-x 8 RET HIRAGANA LETTER A"
          buffer code: #xE3 #x81 #x82
            file code: #xE3 #x81 #x82 (encoded by coding system utf-8-unix)
              display: by this font (glyph code)
    xft:-unknown-Ricty-bold-normal-normal-*-32-*-*-*-*-0-iso10646-1 (#x917)

Character code properties: customize what to show
  name: HIRAGANA LETTER A
  general-category: Lo (Letter, Other)
  decomposition: (12354) ('あ')

There is an overlay here:
 From 447 to 460
  face                 hl-line
  priority             -50
  window               #<window 1735 on 1701140702.modeline-char.org>


There are text properties here:
  fontified            t

文字の詳細情報だけでなく、
オーバーレイやテキストプロパティの
情報まで出てきます。

僕はオーバーレイやテキストプロパティの調査に
C-u C-x = を重宝しています。


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。