2010-09-22 10 views
29

sto cercando di ottenere i seguenti nel mio VimrcVim non supporta l'Unicode?

" Use the same symbols as TextMate for tabstops and EOLs 
set listchars=tab:▸\ ,eol:¬ 

Quelle linee sono da here sono funzionato perfettamente in vim 7.2 Recentemente ho compilato e vim 7.3 installato e ora quei personaggi non vengono comprese da vim . Inoltre: Ctrl + V poi U in insert non mi permette di inserire alcun carattere, sembra proprio ignorarlo.

Qualche idea?

Questo è quello che vedo: set listchars=tab:�~V�\ ,eol:¬

+2

Si sta utilizzando un terminale compatibile con Unicode o gvim? –

+1

Sì, lo sono. Sto usando lo schermo, ma posso incollare quei caratteri semplicemente bene. – Sandro

+0

Sebbene Vim supporti l'unicode, sia i sistemi MS che Linux non hanno il supporto Unicode, intendo i loro terminali e console. Quindi, ho installato vrapper in Eclipse. Ora, sono in grado di digitare in Unicode. :) – SibiCoder

risposta

34

È necessario compilare vim con il supporto multi-byte.

Il modo più semplice per farlo è quello di eseguire

./configure --with-features=big 
make 

Questo creerà vim con il supporto corretto.

È possibile verificare che è stato compilato correttamente con

:version 

in vim o eseguendo

vim --version 

e alla ricerca di +multi_byte. Se dice -multi_byte non funzionerà.

+1

Lo hai inchiodato! Eccezionale! Grazie, grazie, grazie! – Sandro

+0

Mi ero preso a calci da solo negli ultimi due giorni, cercando di far sì che i simboli vim-powerline funzionassero con personaggi fantasiosi. Questo finalmente l'ha risolto. Grazie! – Liam

+0

Ho installato arch linux l'altro giorno e i miei simboli freccia e i bordi tmux erano incasinati. Questo fisso vim, penso che il locale ha risolto il resto –

1

Avete bisogno di un

scriptencoding utf-8 

o qualunque sia la codifica del .vimrc è in realtà?

+2

Inoltre, controlla i valori delle opzioni 'encoding',' termencoding', 'fileencoding'. Assicurati che quando stai modificando '.vimrc' tutti siano impostati su' utf-8'. –

+0

L'ho aggiunto e non funziona ancora. Come posso verificare il valore di queste altre opzioni? – Sandro

+1

È possibile visualizzare il valore di qualsiasi opzione aggiungendo un? dopo il comando set. vale a dire: impostare la codifica? – Tassos

23

Ho il seguente nel mio Vimrc

scriptencoding utf-8 
set encoding=utf-8 

e che nella mia .gvimrc

set listchars=trail:·,precedes:«,extends:»,eol:↲,tab:▸\ 

e funziona bene (avviso c'è uno spazio dopo il ▸ \).

+1

Ho aggiunto quello e niente ... – Sandro

+0

Ha funzionato per me. nota: io uso vim per windows. –

+0

interessante, su Linux non devo impostare nulla. su vim win32 con + multi_byte ho iniziato ad aggiungerlo dopo aver cambiato qualcosa nel mio vimrc ... ora, mettere quelle due linee non genera un errore, ma i trail trail vengono visualizzati come un punto interrogativo o qualcos'altro ... se lascio SOLO 'set encoding = utf-8' allora funziona come prima – gcb

5

Ho avuto lo stesso problema con il vim fornito con OS X Lion anche se è stato compilato con multi_byte.

Il problema era la codifica utilizzata da vim. Ho aggiunto set encoding=utf-8 nel mio ~/.vimrc e il problema è stato risolto.

Rif: Terminal Vim redraw issues in OS X Lion

+0

Perfetto. Condivido un vimrc tra Mac e Windows utilizzando Dropbox. Ha funzionato perfettamente con MacVim ma Gvim su Windows mi ha dato errori all'avvio. – mrak

4

ho avuto questo problema pur essendo in una sessione screen. E 'andato con impostando la seguente nel mio .bashrc:

export LANG=en_US.UTF-8 
2

Non dimenticare, se si sta eseguendo vim in un terminale, assicurarsi che il terminale stesso sta usando UTF-8 come bene.

1

Assicurati di utilizzare un carattere compatibile. Il mio problema era che inconsolata-g non supporta i caratteri utf-8 nel mio documento.

anche, questo era tutto quello che dovevo a mio gvimrc:

set enc=utf-8 
set fileencoding=utf-8 
set fileencodings=ucs-bom,utf8,prc 
set guifont=Monaco:h14 
set guifontwide=NSimsun:h14