如何告诉VIM将viminfo文件存储到其他地方?
是否可以告诉vim将其viminfo文件保存到其他地方?如何告诉VIM将viminfo文件存储到其他地方?,vim,Vim,是否可以告诉vim将其viminfo文件保存到其他地方? 例如,在.vim文件夹中,尝试将设置viminfo+=n~/.vim/viminfo添加到~/.vimrc文件中。从:帮助“viminfo”: n viminfo文件的名称。名称必须紧跟其后 “n”。一定是最后一个!如果“-i”参数是 在启动Vim时给定,该文件名将覆盖该文件名 这里给出了“viminfo”。环境变量已展开 打开文件时,而不是设置选项时。 这在Windows 7中适用。我有类似的问题,但没有对主文件夹的写入权限(因此无法
例如,在.vim文件夹中,尝试将
设置viminfo+=n~/.vim/viminfo
添加到~/.vimrc
文件中。从:帮助“viminfo”
:
n viminfo文件的名称。名称必须紧跟其后
“n”。一定是最后一个!如果“-i”参数是
在启动Vim时给定,该文件名将覆盖该文件名
这里给出了“viminfo”。环境变量已展开
打开文件时,而不是设置选项时。
这在Windows 7中适用。我有类似的问题,但没有对主文件夹的写入权限(因此无法创建
~/.vimrc
)
我通过(通过管理员)修改C:\Program Files\VIM
中的_vimrc解决了这个问题,包括以下行:
let $HOME = $USERPROFILE
我把它放在文件的开头,效果很好。以防万一有人遇到这个问题,但没有解决。TL;DR
这似乎是vim
中的一个bug,其中set-nocompatible
没有并且没有遵循
作为一种解决方法,可以:
vimrc
顶部设置一次nocompatible(或等效的设置nocp
)if &compatible | set nocompatible | endif " Avoid side effects if `nocp` already set
&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
输出:
.vimrc中设置的顺序影响:set viminfo的使用。viminfo的设置应在nocompatible设置之后。在对我的.vimrc重新排序之后,上述将viminfo文件放在.vim目录中的解决方案对我来说很有效。我知道这已经有一段时间了,但我只是为了将来的读者提一下这一点 在尝试更改vimrc中viminfo文件的位置时,我遇到了相同的问题。最后,设置
viminfofile
选项的值对我起作用了
将以下内容添加到我的vimrc中:
set viminfofile=D:\vim\viminfo
它在装有vim 8.2的windows上对我有效,但它不起作用?我建议的选项还是具体值?请随意为它提供任何对您的平台有意义的合理路径。它不像中那样工作,在我将它添加到我的vimrc文件中后,viminfo仍然保存在我的主文件夹下的目录中。。。除非我每次打开vim时都手动设置,否则这会起作用,但如果我有它的话就不行了vimrc@BeyondSora,@sarnold重新阅读此处引用的帮助:«名称必须紧跟在“n”之后»。清除答案中的分号。@ZyX,非常感谢!我刚刚用一个没有写访问权限的目录进行了测试,当它不起作用时,我很高兴得到一个错误。唉。经验教训:)是的,我试过设置viminfo+='1000,n~/.vim/viminfo,结果成功了。在Windows 10和vim 8.0.x上对我有效。它甚至可以与一个变量一起工作,例如:
set viminfo='1000,n$VIM/viminfo
。1000的作用是什么?
'100,<50,s10,h,nWatch-my-viminfo-file-location-be-ignored
After 2nd "set nocompatible":
'100,<50,s10,h
set viminfofile=D:\vim\viminfo