2017-02-24 53 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