Zobacz punkt kodowy Unicode bieżącego znaku


36

Jak mogę zobaczyć punkt kodowy Unicode znaku, w którym znajduje się kursor? Na przykład, jeśli mój kursor jest na ⌘postaci, chciałbym, aby Vim powiedział mi, że jest to U + 2318 .

Dopuszczalne byłyby alternatywne informacje, takie jak reprezentacja base-10 (8984) lub reprezentacja UTF-8 (E2 8C 98).

Pytam o Unicode i UTF-8, ponieważ są one najbardziej powszechne, ale jeśli odpowiedź uogólnia się na inne zestawy znaków i kodowania, dobrze byłoby również wiedzieć.

Odpowiedzi:


45

Możesz użyć %blub %Bw statuslinelub rulerformat. Od :help statusline:

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

Na przykład:

set statusline=%b\ %B

Daje Ci:

8984 2318

Innym sposobem jest użycie galub :asciipolecenie. Od :help ga:

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

Co da ci:

<⌘> 8984, Hex 2318, Octal 21430

Kolejnym przydatnym mapowaniem jest g8:

e2 8c 98

Który wypisuje wartość szesnastkową rzeczywistych bajtów przechowywanych w pliku (to polecenie zakłada UTF-8).

Ponadto istnieją dwie przydatne wtyczki, których możesz użyć:

  • unicode.vim dodaje różne przydatne polecenia związane z Unicode. Użyj, :UnicodeNameaby uzyskać szczegółowe informacje o znaku pod kursorem.

  • characterize.vim ; rozszerza to gapolecenie o nazwę unicode, podobną do unicode.vim.


„to polecenie zakłada UTF-8” - dokumentacja to mówi, ale z mojego doświadczenia wynika, że ​​działa w każdym encoding(ale nie szanuje fileencoding).
— Random832

3
Po dalszych eksperymentach, if encodingjest ustawione na wielobajtowe kodowanie inne niż utf8, takie jak cp932, g8wydrukuje tylko pierwszy bajt, ale gawyświetli pełny numer znaku.
— Random832

Czy istnieje sposób, aby wyjście g8 pojawiało się w linii statusu samo w sobie? Trochę jak oryginalne pytanie z częścią „informacje alternatywne”.
— 0
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.