是否有可能告诉vim将其viminfo文件保存在别的地方? 如.vim文件夹中的文件如何告诉VIM在其他地方存储viminfo文件?
回答
尝试将添加到~/.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.
我也有类似的问题,但没有写权限到我的主文件夹(因此无法创建~/.vimrc
)。
let $HOME = $USERPROFILE
我把它放在文件的开头,效果不错:
我在C:\Program Files\VIM
修改(通过Administrator)的_vimrc包括行解决它。以防万一有人遇到这个问题,this answer不起作用。
TL; DR
这似乎是一个vim
臭虫,set nocompatible
不idempotent和不遵循principle of least astonishment。
作为一种变通方法,可以:
确保您
set nocompatible
(或等值set nocp
)仅一次和你vimrc
顶部。不要再设置它,如果它已经被设置:
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的问题:
- Undocumented "set nocompatible" side effect upon &viminfo
set nocompatible
not idempotent - setting produces side effects when already set
另见第六StackExchange的问题:Can't move viminfo
file - &viminfo reverts upon loading vim我看到这个人之前提出。
.vimrc中设置的排序影响使用:set viminfo。 viminfo的设置应该在设置不兼容之后。重新排序我的.vimrc后,上面的解决方案使viminfo文件位于.vim目录中。
你能举个例子吗? – mouckatron 2017-11-09 16:22:40
- 1. 无论如何告诉NetBeans不要在本地存储文件?
- 2. 在其他地方存储GNU make生成的文件
- 3. 如何告诉svn忽略某些文件在任何地方?
- 4. 如何告诉git(或其他dvcs)私密跟踪文件?
- 5. 将用户存储在上下文中还是其他地方?
- 6. 如何告诉git使用哪个vim?
- 7. vimrc文件,viminfo文件
- 8. 以Java存储数据。文本文件,csv或其他方法?
- 9. 如何在数组中存储值然后在其他地方使用?
- 10. 其他地方使用线程本地存储?
- 11. Git仓库与git目录存储在其他地方
- 12. 在其他地方存储res/drawable图像Android?
- 13. 克隆git存储库并在其他地方导入对象
- 14. 如何使可在其他地方PHP
- 15. 告诉Rails缓存静态文件组
- 16. sencha touch本地存储和其他webservice
- 17. 如何告诉PhpStorm IDE存在常量?
- 18. 如何告诉“gmake”使用其他版本的GCC? (Linux)
- 19. 损坏的.viminfo文件
- 20. 谷歌地图/地方API - 如何告诉特定子公司?
- 21. 告诉如果文件是PDF在bash
- 22. Rails:如何在一个地方存储一个值并在其他地方引用它
- 23. 我可以告诉其他进程是否正在创建文件?
- 24. 我该如何告诉[G] vim在哪里寻找python26.dll?
- 25. 如何存储其他用户信息?
- 26. 如何从其他目录运行Vimscript(.vim)文件?
- 27. 用VIM或其他方法比较文件与自己
- 28. 存储文件安全的地方?
- 29. 如何告诉netbeans存储glassfish 3密码
- 30. 如何告诉莺不读本地rakefile
它不适用于窗口D上的SUA: – 2011-06-09 02:10:56
哪些不起作用?该选项或我提出的具体价值?随意给它任何合理的路径,适合你的平台。 – sarnold 2011-06-09 02:19:09
它不工作,在我添加到我的vimrc文件后,viminfo仍然获取保存在我的home文件夹下的目录...除非我每次打开vim手动设置它,这将工作,但不是如果我有它在vimrc – 2011-06-09 02:43:38