Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么VIM在使用setlocal时会更改所有缓冲区的编码?_Vim - Fatal编程技术网

为什么VIM在使用setlocal时会更改所有缓冲区的编码?

为什么VIM在使用setlocal时会更改所有缓冲区的编码?,vim,Vim,当我在VIM上使用setlocal encoding更改缓冲区编码时,VIM会更改所有缓冲区的编码。这真的很烦人,因为我用不同的编码编辑文件,而且我一直在破坏它们。我尝试创建两个缓冲区,一个缓冲区执行setlocal encoding=latin1,另一个缓冲区执行setlocal encoding=utf-8:两个缓冲区上的编码总是相同的,并且总是我设置的最后一个编码 setlocal在“shiftwidth”上运行良好。例如,该问题仅显示在编码选项上 我尝试重新安装一个新的VIM副本,我尝试

当我在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东西。非常感谢。