Che cos'è la codifica dei file di .vimrc?


8

Ho aggiornato vim e ora è scontento di alcuni valori UTF-8 nel mio .vimrc.

Questo mi porta alla domanda: quando vim legge .vimrc, quale codifica assume il file? Cioè, fileencodingallora?

Risposte:


5

È qualunque cosa tu definisca con :scriptencoding. dovrebbe essere la prima riga nel tuo .vimrcfile, ad esempio:

scriptencoding utf-8

set number
set ...

Tenere presente che alcune opzioni ( listcharsad esempio) accettano solo valori di larghezza singola.

Modifica: Sì, Vim è strano. encodingè per l'editor stesso, fileencodingè per il buffer ed scriptencodingè per gli script Vim.


Grazie per la risposta, sono stato in grado di correggere la mia installazione con gli hack. Gradirei se la risposta fosse aggiornata con un esempio di ~/,vimrccome usarescriptencoding
Dima Tisnek,

@DimaTisnek done! Non voglio scriverlo nella risposta perché non è quello che hai chiesto, ma le impostazioni predefinite di Vim sono incasinate IMHO e penso che sia una buona ragione per provare Neovim (in effetti ho dovuto cercare nella mia vecchia configurazione per ricordare la sintassi di scriptencoding)
Tae

1
@Tae, a meno che tu non sia su Windows, dove Neovim è ancora molto indietro rispetto a Vim.
Maxim Kim

2

Come accennato nei file della guida ( :help scriptencoding), se non si utilizza scriptencoding, vim non esegue alcuna conversione, presupponendo effettivamente che lo script sia nella codifica 'encoding'dell'opzione. Questo è molto spesso utf-8, di tanto in tanto latin1. Sono possibili altre codifiche. Generalmente vuoi usare

scriptencoding utf-8

quando il file di script contiene caratteri non ASCII ed è codificato in utf-8. Se si utilizzano solo caratteri ASCII a 7 bit, non è necessario.

'fileencoding'si applica al buffer corrente, non agli script. Quando si apre un file, vim tenta di indovinare la codifica dall'opzione 'fileencodings'.


Grazie per la risposta, sono stato in grado di correggere la mia installazione con gli hack. Gradirei se la risposta fosse aggiornata con un esempio di ~/,vimrccome usarescriptencoding
Dima Tisnek,
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.