Siehe den Unicode-Codepunkt des aktuellen Zeichens

36

Wie kann ich den Unicode-Codepunkt des Zeichens sehen, an dem sich der Cursor befindet? Wenn sich mein Cursor beispielsweise auf einem Zeichen befindet, möchte ich, dass Vim mir mitteilt, dass es sich um U + 2318 handelt .

Alternative Informationen wie die Basis-10-Darstellung (8984) oder die UTF-8-Darstellung (E2 8C 98) wären akzeptabel.

Ich frage nach Unicode und UTF-8, weil sie am häufigsten vorkommen, aber wenn die Antwort auf andere Zeichensätze und Codierungen verallgemeinert wird, wäre das auch gut zu wissen.

200_erfolg
quelle

Antworten:

45

Sie können %boder %Bin statuslineoder verwenden rulerformat. Von :help statusline:

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

Beispielsweise:

set statusline=%b\ %B

Gibt Ihnen:

8984 2318

Eine andere Möglichkeit ist, gaoder den :asciiBefehl zu verwenden. Von :help ga:

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

Welches wird Ihnen geben:

<⌘> 8984, Hex 2318, Octal 21430

Ein weiteres nützliches Mapping ist g8:

e2 8c 98

Gibt den Hex-Wert der tatsächlich in der Datei gespeicherten Bytes aus (dieser Befehl setzt UTF-8 voraus).

Zusätzlich gibt es zwei nützliche Plugins, die Sie verwenden können:

  • unicode.vim fügt verschiedene nützliche Unicode-Befehle hinzu. Verwenden Sie :UnicodeName, um Details des Zeichens unter dem Cursor abzurufen.

  • characterize.vim ; Dadurch wird der gaBefehl mit dem Unicode-Namen erweitert, ähnlich wie in unicode.vim.

Martin Tournoij
quelle
"Dieser Befehl geht von UTF-8 aus" - das steht in der Dokumentation, aber ich habe die Erfahrung gemacht, dass es in jedem funktioniert encoding(aber nicht respektiert fileencoding).
Random832
3
Nach weiteren Experimenten gibt ein if, encodingdas auf eine Nicht-Utf8-Multibyte-Codierung wie cp932 eingestellt ist, g8nur das erste Byte aus, zeigt jedoch gadie vollständige Zeichennummer an .
Random832
Gibt es eine Möglichkeit, die Ausgabe von g8 als solche in der Statuszeile anzuzeigen? Ein bisschen wie die ursprüngliche Frage mit dem Teil "Alternative Informationen".
16.