Was ist die Dateicodierung von .vimrc?

8

Ich habe vim aktualisiert und jetzt ist es unglücklich über einige UTF-8-Werte in meinem .vimrc.

Dies führte mich zu der Frage: Wenn vim liest .vimrc, welche Codierung nimmt die Datei an? Dh was ist fileencodingdann?

Dima Tisnek
quelle

Antworten:

5

Es ist alles, was Sie mit Weiß definieren :scriptencoding. Es sollte die erste Zeile in Ihrer .vimrcDatei sein, z.

scriptencoding utf-8

set number
set ...

Beachten Sie, dass einige Optionen ( listcharszum Beispiel) nur Werte für die einzelne Breite akzeptieren.

Edit: Ja, Vim ist komisch. encodingist für den Editor selbst, fileencodingist für den Puffer und scriptencodingist für Vim-Skripte.

Tae
quelle
Vielen Dank für die Antwort, ich konnte meine Installation mit Hacks reparieren. Ich würde mich freuen, wenn die Antwort mit einem Beispiel für ~/,vimrcdie Verwendung aktualisiert würdescriptencoding
Dima Tisnek
@ DimaTisnek fertig! Ich möchte es nicht in die Antwort schreiben, weil es nicht das ist, wonach Sie gefragt haben, aber Vims Standardeinstellungen sind meiner Meinung nach durcheinander und ich denke, das ist ein guter Grund, Neovim auszuprobieren (tatsächlich musste ich in meiner alten Konfiguration nachsehen, um mich zu erinnern die Syntax von scriptencoding)
Tae
1
@Tae, es sei denn, Sie auf Windows, wo Neovim noch weit hinter vim ist.
Maxim Kim
2

Wie in den Hilfedateien ( :help scriptencoding) angedeutet scriptencoding, führt vim bei Nichtverwendung keine Konvertierung durch, vorausgesetzt, das Skript befindet sich in der Codierung der 'encoding'Option. Dies ist sehr oft utf-8, gelegentlich latin1. Andere Codierungen sind möglich. Im Allgemeinen möchten Sie verwenden

scriptencoding utf-8

wenn Ihre Skriptdatei Nicht-ASCII-Zeichen enthält und in utf-8 codiert. Wenn Sie nur 7-Bit-ASCII-Zeichen verwenden, ist dies nicht erforderlich.

'fileencoding'gilt für den aktuellen Puffer, nicht für Skripte. Beim Öffnen einer Datei versucht vim, die Codierung anhand der Option zu erraten 'fileencodings'.

Masse
quelle
Vielen Dank für die Antwort, ich konnte meine Installation mit Hacks reparieren. Ich würde mich freuen, wenn die Antwort mit einem Beispiel für ~/,vimrcdie Verwendung aktualisiert würdescriptencoding
Dima Tisnek