2011-06-09 54 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