2011-06-09 56 views

回答

17

尝试将添加到~/.vimrc文件中。从:help 'viminfo'

n  Name of the viminfo file. The name must immediately follow 
      the 'n'. Must be the last one! If the "-i" argument was 
      given when starting Vim, that file name overrides the one 
      given here with 'viminfo'. Environment variables are expanded 
      when opening the file, not when setting the option. 
+0

它不适用于窗口D上的SUA: – 2011-06-09 02:10:56

+0

哪些不起作用?该选项或我提出的具体价值?随意给它任何合理的路径,适合你的平台。 – sarnold 2011-06-09 02:19:09

+0

它不工作,在我添加到我的vimrc文件后,viminfo仍然获取保存在我的home文件夹下的目录...除非我每次打开vim手动设置它,这将工作,但不是如果我有它在vimrc – 2011-06-09 02:43:38

5
set viminfo='1000,nc:\\users\\abcdef\\_viminfo 

这对我的作品在Windows 7

+0

是的,我试过'设置viminfo + ='1000,n〜/ .vim/viminfo'而不是它的工作。 – kenmux 2016-07-11 03:57:26

+0

在Vim 8.0.x的Windows 10上为我工作。它甚至适用于一个变量,例如:'set viminfo ='1000,n $ VIM/viminfo'。 – benichka 2018-02-19 06:56:59

4

我也有类似的问题,但没有写权限到我的主文件夹(因此无法创建~/.vimrc)。

let $HOME = $USERPROFILE 

我把它放在文件的开头,效果不错:

我在C:\Program Files\VIM修改(通过Administrator)的_vimrc包括行解决它。以防万一有人遇到这个问题,this answer不起作用。

0

TL; DR

这似乎是一个vim臭虫,set nocompatibleidempotent和不遵循principle of least astonishment

作为一种变通方法,可以:

  1. 确保您set nocompatible(或等值set nocp)仅一次vimrc顶部

  2. 不要再设置它,如果它已经被设置:

    if &compatible | set nocompatible | endif " Avoid side effects if `nocp` already set 
    

解释和错误说明

:help compatible(empahsis矿):

这是一种特殊的选项,因为当它被设置或重置时, 其他选项也被改变为副作用。 小心:设置或 重置此选项可能产生很多意想不到的效果:映射 以另一种方式解释,撤消行为不同,等等。如果您在您的vimrc文件中设置了此选项,则应该将它放在 非常开始。

注意&viminfo在副作用上市,然而以下行清楚地显示在&viminfo副作用:

set nocompatible 
set viminfo+=nWatch-my-viminfo-file-location-be-ignored 
echom &viminfo 
set nocompatible " do side effects even though nocomptible is already set 
echom 'After 2nd "set nocompatible":' 
echom &viminfo 

输出:

'100,<50,s10,h,nWatch-my-viminfo-file-location-be-ignored 
After 2nd "set nocompatible": 
'100,<50,s10,h 

vim --version | head -1

VIM - Vi IMproved 7.4 (2013 Aug 10, compiled Aug 05 2016 16:48:20)


分辨率

我已经提出了有关这两GitHub的问题:

另见第六StackExchange的问题:Can't move viminfo file - &viminfo reverts upon loading vim我看到这个人之前提出。

0

.vimrc中设置的排序影响使用:set viminfo。 viminfo的设置应该在设置不兼容之后。重新排序我的.vimrc后,上面的解决方案使viminfo文件位于.vim目录中。

+0

你能举个例子吗? – mouckatron 2017-11-09 16:22:40