是否有可能告訴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