如何在vimrc设置中忽略nerdtree缓冲区?

时间:2017-02-24 09:42:17

标签: vim nerdtree neovim file-encodings

我的init.vim中有以下行:

if !&readonly
  set fileencoding=utf-8
endif

将fileencoding设置为utf-8。它工作正常,除非我将光标放在一个nerdtree窗口,在这种情况下我得到以下错误:

https://github.com/codepath/android_guides/wiki/Sharing-Content-with-Intents

我猜它正在尝试将nerdtree窗口设置为utf-8。我认为我可以通过在if语句中检查nerdtree来解决这个问题(这样它就不会尝试为nerdtree窗口设置fileencoding)。我该怎么做?

1 个答案:

答案 0 :(得分:1)

我已经检查过了,而且nerdtree窗口是:noreadon& 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