如何在 vimrc 设置中忽略 nerdtree 缓冲区?
How to ignore nerdtree buffer in vimrc settings?
我的 init.vim 中有以下行:
if !&readonly
set fileencoding=utf-8
endif
将文件编码设置为 utf-8。它工作正常,除非我将光标放在 nerdtree window 中,在这种情况下我会收到以下错误:
我猜它试图将 nerdtree window 设置为 utf-8。我认为我可以通过在 if 语句中检查 nerdtree 来解决这个问题(这样它就不会尝试为 nerdtree windows 设置文件编码)。我该怎么做?
我已经检查过,书呆子树 window 是:noreadonly & nomodifiable。你收到的消息告诉你一切。你不能修改一个 window 是 '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
我的 init.vim 中有以下行:
if !&readonly
set fileencoding=utf-8
endif
将文件编码设置为 utf-8。它工作正常,除非我将光标放在 nerdtree window 中,在这种情况下我会收到以下错误:
我猜它试图将 nerdtree window 设置为 utf-8。我认为我可以通过在 if 语句中检查 nerdtree 来解决这个问题(这样它就不会尝试为 nerdtree windows 设置文件编码)。我该怎么做?
我已经检查过,书呆子树 window 是:noreadonly & nomodifiable。你收到的消息告诉你一切。你不能修改一个 window 是 '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