为什么 viminfo 设置在 VIM 中不起作用

Mar*_*slo 3 vim vimrc

我在我的 .vimrc 中设置了viminfo以加快启动速度。但是设置不起作用。

设置是:

set viminfo=%,\"100,'10,/50,:100,h,f0,n~/.vim/cache/.viminfo
Run Code Online (Sandbox Code Playgroud)

当我尝试时echo &viminfo,该值与旧的(可能是默认值)相同:

viminfo

我使用的是自己编译安装的vim 7.4,版本信息如下:

$ vim --version
VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Dec 17 2013 16:56:58)
Included patches: 1-131
Run Code Online (Sandbox Code Playgroud)

这是源代码安装配置:

./configure --enable-gui=gnome2 --enable-cscope --enable-multibyte --enable-xim --enable-fontset --with-features=huge --enable-pythoninterp=yes --enable-python3interp=yes --enable-rubyinterp=yes --enable-python3interp=yes --prefix=/home/marslo/.vim/tools/vim74 --with-compiledby=Marslo > vim-build.log
Run Code Online (Sandbox Code Playgroud)

我的设置有什么问题?我应该怎么做才能使设置工作?

Ing*_*kat 5

这很容易解释。你有

:set nocompatible
Run Code Online (Sandbox Code Playgroud)

之后 :set viminfo。前者是一个特殊的、重要的选择,会影响他人;来自:help 'compatible'

这是一种特殊的选项,因为当它被设置或重置时,其他选项也会作为副作用而改变。

解决办法很简单:它移动到你的开始~/.vimrc,或者干脆删除它,如nocompatible由具有隐含.vimrc文件。