Come visualizzare i caratteri Unicode UTF-8 in VIM


13

Sto usando VIM 7.4 su una macchina Ubuntu 14.04 a 64 bit. Nel mio file .vimrc, ho le seguenti righe:

" Use UTF-8 without BOM
set encoding=utf-8 nobomb

Il configfile utilizza fondamentalmente il carattere Unicode per visualizzare spazi bianchi come schede, nuove linee, ecc. Il file .vimrc completo è preso dai dotfile di Paul Irish .

In una precedente installazione di 14.04 e nelle precedenti distribuzioni, sono stato in grado di vedere i caratteri unicode senza problemi ma non con questo.

Ho anche provato:

 set fileencodngs=utf-8

Ma l'impostazione sopra non ha alcun effetto e vedo ancora personaggi confusi sullo schermo. C'è un modo per aggirare questo?


1
Puoi dare un link a un file di esempio che ti sembra confuso? E puoi includere uno screenshot di quello che vedi in vim? Qual è il valore della fencvariabile dopo l'apertura di un file?
Mike Miller,

Risposte:


16

Se la tua locale attuale ha una codifica utf-8 , Vim si avvierà automaticamente in modalità utf-8.

Se si utilizza un'altra locale, impostare di seguito nel ~/.vimrcfile utente :

set encoding=utf-8

Potresti anche voler selezionare il carattere utilizzato per i menu . Purtroppo questo non funziona sempre.

Inoltre hai questa opzione per forzare la codifica :set fileencodings=utf-8. Puoi trovare la documentazione qui

un'altra soluzione è: in modalità inserimento, premere Ctrl- R ="\xe2\x82\xa9" Enterper inserire direttamente i caratteri UTF-8 usando la loro codifica esadecimale.

l' \xe2\x82\xa9è Hex codifica di (il simbolo di valuta per la Corea del Nord) carattere.

rif: documentazione Vim

Nota: se hai eseguito la configurazione sopra ma non sei ancora riuscito a vedere bene i caratteri Unicode o digitare, controlla nella configurazione del tuo Terminale o Console se è Character encodingstato impostato su UTF-8.

Leggi anche Personaggi speciali in Vim .


1
Ciò ha anche risolto il problema di non poter inserire caratteri cinesi per me.
Zelphir Kaltstahl,

Qualcuno potrebbe espandersi su cosa C-R ="\xe2\x82\xa9" <enter>fa?
user1717828

@ ussr1717828 questa è la forma di codifica UTF-8 di (il simbolo di valuta per la Corea del Nord) e che consente all'utente di digitare direttamente il valore letterale utilizzando la sua codifica esadecimale UTF-8 con Ctrl+R="..."- Enter.
αғsнιη
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.