2017-02-24 83 views
1

我在init.vim以下行:如何忽略vimrc設置中的nerdtree緩衝區?

if !&readonly 
    set fileencoding=utf-8 
endif 

這臺fileencoding爲UTF-8。它工作正常,除非我有我的光標在nerdtree窗口,在這種情況下,我得到以下錯誤:

enter image description here

我想,它試圖將nerdtree窗口設置爲UTF-8。我認爲我可以通過在if語句中檢查nerdtree來解決這個問題(這樣它就不會嘗試爲nerdtree窗口設置fileencoding)。我怎麼做?

回答

2

我檢查過,並且nerdtree窗口是:noreadonly & nomodifiable。你收到的消息告訴你所有。即使通過設置選項,您也無法修改'nomodifiable'窗口。嘗試:

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

其他選項是要記住某些變量的當前狀態:

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

是啊,就是這樣。萬分感謝! – vsjn3290ckjnaoij2jikndckjb