現在の文字のUnicodeコードポイントを参照してください


36

カーソルがある文字のUnicodeコードポイントを表示するにはどうすればよいですか?たとえば、カーソルがキャラクター上にある場合、VimにU + 2318であることを教えてください。

10進表記(8984)やUTF-8表記(E2 8C 98)などの代替情報も受け入れられます。

UnicodeとUTF-8は最も一般的であるため質問しますが、答えが他の文字セットとエンコードに一般化されている場合は、それも知っておくとよいでしょう。

回答:


45

あなたは使用することができる%b%Bstatuslinerulerformat。から:help statusline

b N   Value of character under cursor. 
B N   As above, in hexadecimal. 

例えば:

set statusline=%b\ %B

あなたにあげる:

8984 2318

別の方法は、gaまたは:asciiコマンドを使用することです。から:help ga

:as[cii]        or                                      ga :as :ascii
ga                      Print the ascii value of the character under the
                        cursor in decimal, hexadecimal and octal.

それはあなたに与えるでしょう:

<⌘> 8984, Hex 2318, Octal 21430

別の便利なマッピングはg8次のとおりです。

e2 8c 98

ファイルに保存されている実際のバイトの16進値を出力します(このコマンドはUTF-8を想定しています)。

さらに、使用できる2つの便利なプラグインがあります。

  • unicode.vimは、さまざまな便利なunicode関連のコマンドを追加します。:UnicodeNameカーソルの下の文字の詳細を取得するために使用します。

  • characterize.vim ; これgaにより、unicode.vimのようなunicode名でコマンドが展開されます。


「このコマンドはUTF-8を前提としています」-ドキュメントにはこれが記載されていますが、私の経験では、どのコマンドでも機能しますencoding(ただし、尊重しませんfileencoding)。
Random832

3
さらなる実験の後、if encodingがcp932などの非utf8マルチバイトエンコーディングに設定されている場合g8、最初のバイトのみが出力gaされますが、完全な文字番号が表示されます。
Random832

g8の出力を単独でステータスラインに表示する方法はありますか?「代替情報」部分のある元の質問のようなもの。
0fnt
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.