为什么VIM在使用setlocal时会更改所有缓冲区的编码?
当我在VIM上使用为什么VIM在使用setlocal时会更改所有缓冲区的编码?,vim,Vim,当我在VIM上使用setlocal encoding更改缓冲区编码时,VIM会更改所有缓冲区的编码。这真的很烦人,因为我用不同的编码编辑文件,而且我一直在破坏它们。我尝试创建两个缓冲区,一个缓冲区执行setlocal encoding=latin1,另一个缓冲区执行setlocal encoding=utf-8:两个缓冲区上的编码总是相同的,并且总是我设置的最后一个编码 setlocal在“shiftwidth”上运行良好。例如,该问题仅显示在编码选项上 我尝试重新安装一个新的VIM副本,我尝试
setlocal encoding
更改缓冲区编码时,VIM会更改所有缓冲区的编码。这真的很烦人,因为我用不同的编码编辑文件,而且我一直在破坏它们。我尝试创建两个缓冲区,一个缓冲区执行setlocal encoding=latin1
,另一个缓冲区执行setlocal encoding=utf-8
:两个缓冲区上的编码总是相同的,并且总是我设置的最后一个编码
setlocal
在“shiftwidth”上运行良好。例如,该问题仅显示在编码选项上
我尝试重新安装一个新的VIM副本,我尝试了7.2和7.1,我仍然有问题。我已经禁用了我所有的插件,我的vimrc
我是不是疯了,以为这就是过去的工作方式?你知道可能是什么原因吗
如果这很重要的话,我会在Windows 7上使用VIM。
'encoding'
是一个全局选项,它指示VIM如何在内部处理文本,因此您会错两倍
setlocal
不适用于仅全局选项,如'encoding'
:帮助“选项”
告诉您“选项”
的“范围”
'encoding'
不是您要寻找的选项,您需要:set fileencoding=utf-8
:help 'encoding'
:help 'fileencoding'
:help 'setlocal'
我显然不明白这一点。我也读了一些关于VIM的其他答案,很多很棒的VIM东西。非常感谢。