Vedi il punto di codice Unicode del carattere corrente


36

Come posso vedere il punto di codice Unicode del carattere in cui si trova il cursore? Ad esempio, se il mio cursore si trova su un personaggio, vorrei che Vim mi dicesse che è U + 2318 .

Informazioni alternative, come la rappresentazione di base 10 (8984) o la rappresentazione UTF-8 (E2 8C 98) sarebbero accettabili.

Chiedo di Unicode e UTF-8 perché sono più comuni, ma se la risposta si generalizza ad altri set di caratteri e codifiche, sarebbe bene sapere anche.

Risposte:


45

Puoi usare %bo %Bin statuslineo rulerformat. Da :help statusline:

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

Per esempio:

set statusline=%b\ %B

Ti dà:

8984 2318

Un altro modo è usare gao il :asciicomando. Da :help ga:

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

Che ti darà:

<⌘> 8984, Hex 2318, Octal 21430

Un'altra utile mappatura è g8:

e2 8c 98

Che stampa il valore esadecimale dei byte effettivi memorizzati nel file (questo comando presuppone UTF-8).

Inoltre ci sono due plugin utili che potresti usare:

  • unicode.vim aggiunge vari utili comandi relativi a Unicode. Utilizzare :UnicodeNameper ottenere i dettagli del personaggio sotto il cursore.

  • characterize.vim ; questo espande il gacomando con il nome unicode, simile a unicode.vim.


"questo comando assume UTF-8" - la documentazione dice questo, ma la mia esperienza è che funziona in qualsiasi encoding(ma non rispetta fileencoding).
Casuale 832,

3
Dopo ulteriori sperimentazioni, un if encodingè impostato su una codifica multibyte non utf8 come cp932, g8stamperà solo il primo byte, ma gamostrerà il numero completo di caratteri.
Casuale 832,

C'è un modo per far apparire l'output di g8 nello statusline da solo? Un po 'come la domanda originale con la parte "informazioni alternative".
0
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.