2017-02-24 2 views
1

Ich habe die folgende Zeile in meinem init.vim:Wie Nerdtree-Puffer in Vimrc-Einstellungen zu ignorieren?

if !&readonly 
    set fileencoding=utf-8 
endif 

, die den fileencoding auf utf-8 setzt. Es funktioniert gut, wenn ich meinen Cursor in einem nerdtree Fenster haben, wobei in diesem Fall bekomme ich folgende Fehlermeldung:

enter image description here

Ich denke, dass es die nerdtree Fenster auf utf-8 zu setzen versucht. Ich denke, dass ich das lösen könnte, indem ich in der if-Anweisung nach nerdtree suche (damit es nicht versucht, fileencoding für Nerdtree-Fenster zu setzen). Wie mache ich das?

Antwort

2

Ich habe überprüft und das Nerdtree-Fenster ist: Noreadonly & Nomodifiable. Die Nachricht, die Sie erhalten haben, sagt Ihnen alles. Sie können ein Fenster, das "nicht änderbar" ist, nicht ändern, indem Sie eine Option darauf setzen. Versuchen:

if !&readonly && &modifiable 
    set fileencoding=utf-8 
endif 

Andere Option ist, den aktuellen Zustand in einigen Variablen zu erinnern:

if !&readonly 
    let prev_modifiable = &modifiable 
    set modifiable 
    set fileencoding=utf-8 
    let &modifiable=prev_modifiable 
endif 
+0

Ah ja, das ist es. Vielen Dank! – vsjn3290ckjnaoij2jikndckjb

Verwandte Themen