Vim配置在一台机器上抛出错误而在另一台机器上抛出错误

时间:2011-12-06 05:53:20

标签: macos vim macvim

考虑到两个系统具有相同的vim配置,可能导​​致Vim在一台机器上抛出错误而在另一台机器上抛出错误的原因是什么?

我有两台Mac OS X Lion机器都运行操作系统附带的默认vim二进制文件。

我将.vimrc和.vim目录保存在git仓库中。但是,在其中一台计算机上启动vim会引发错误:

Error detected while processing function <SNR>41_CreateMaps..<SNR>41_DefineVariables..AutoClose#DefaultPairs..AutoClose#ParsePairs:
line   18:
AutoClose: Bad pair string - a pair longer then two character
line   19:
E121: Undefined variable: a:sring
E15: Invalid expression: " `- String: " . a:sring
line   20:
 `- Pair: «» Pair len: 4

我使用Vundle插件整理插件。该错误似乎是由AutoClose插件引起的。

为了紧缩,我删除了我的主目录中的vim目录和所有.vim文件,然后从repo中获取了所有内容并重新安装了插件,但错误仍然存​​在。

我应该补充一点,启动MacVim时没有问题,只有终端中的vim。

由于vim预装了Mac OS X Lion,而我的另一台机器(运行相同版本的Mac OS)在使用相同的设置时不会产生这些错误,我对于在哪里看起来一无所知..

如果它有任何区别,两台机器都安装了MacVim,但错误只显示在其中一台机器上,并且仅在从命令行启动vim时显示。

1 个答案:

答案 0 :(得分:4)

这可能是因为该文件采用与VIM预期不同的编码(latin1与UTF-8)。

如果你把scriptencoding utf-8放在你的.vimrc的顶部(假设你的vimrc实际上是用UTF-8编码的,如果用Latin1编码的话,使用ISO-8859-1),那么从那时起的所有内容都应该是正确认可。

要查看有关此功能的更多文档,请在vim中输入:help scriptencoding

(来源:http://vim.wikia.com/wiki/Converting_LANG_to_UTF-8和vim手册)