3

当我setlocal encoding在 VIM 上使用来更改缓冲区编码时,VIM 会更改所有缓冲区的编码。这真的很烦人,因为我正在以不同的编码编辑文件并且我一直在破坏它们。我通过创建两个缓冲区进行了尝试,在一个缓冲区上做了setlocal encoding=latin1一个,在另一个缓冲区上做了一个setlocal encoding=utf-8:两个缓冲区上的编码总是相同的,它总是我设置的最后一个编码。

setlocal例如,在“shiftwidth”上效果很好,该问题仅在编码选项上表现出来。

我尝试重新安装 VIM 的新副本,我尝试了 7.2 和 7.1,但仍然有问题。我已经禁用了我所有的插件,我的 vimrc。

我是否正在失去理智,认为这是过去的工作方式?你有什么想法可能会导致这种情况吗?

如果这很重要,我在 Windows 7 上使用 VIM。

4

1 回答 1

8

'encoding' is a global option that dictates how Vim treats text internally so you are two times wrong.

  1. setlocal doesn't work for global-only options like 'encoding'.

    :help 'option' tells you the "scope" of 'option'.

  2. 'encoding' is not the option you are looking for, you want :set fileencoding=utf-8.

Reference:

:help 'encoding'
:help 'fileencoding'
:help 'setlocal'
于 2013-06-05T13:51:51.680 回答