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.

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.


"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.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.