Vimlogging历史
Vim存储我们应用的命令列表:用于当前的执行。 但是当我closuresvim并重新启动时,vim命令历史logging丢失。 我试图在.vimrc文件中set history = 1000
,但没有帮助。
Vim在哪里维护本地的命令历史?
保留命令历史logging的命令是什么?
要检查Vim是否支持'viminfo'
文件(它存储历史logging) :echo has('viminfo')
。 相应的设置不能为空:set viminfo?
,和:set history?
应该大于一个。
如果写viminfo文件时出现问题(虽然在这种情况下Vim应该会抱怨),但你可以尝试通过vim -i /tmp/viminfo
只是一个问题,抓住我出去,这可能是也可能不是你的问题:
在某些Linux系统上(例如Ubuntu),如果你第一次运行VIM,你将以超级用户的身份运行它,那么$ HOME / .viminfo文件将被root用户创build,而你的本地用户没有权限写到它。 这就解释了为什么我的VIM在configuration正确的时候没有存储命令历史logging。
底线:在一个* nix系统上,find你的.viminfo文件,并确保你有它的读/写权限。
您应该检查.viminfo
文件的权限。 您可能需要使用chown
或sudo chown
将文件的所有者更改为当前用户。
贝恩先生给出了答案。
- 转到
$HOME
目录。 - 给
ls -l .viminfo
检查权限。 -
更改权限,以便组和所有者也可以有写权限。 使用:
sudo chown yourUserId $HOME/.viminfo
它应该解决这个问题。
您将不得不设置viminfo选项。 把它设置在你的$ MYVIMRC中
更新要找出选项上次设置/更改的位置:
:verbose set viminfo?
请参阅http://vimdoc.sourceforge.net/htmldoc/starting.html#viminfo-file
如果您退出Vim并稍后重新启动,您通常会丢失大量信息。 viminfo文件可以用来记住这些信息,这使您可以继续离开的地方。
这在第21.3节介绍 的用户手册。
viminfo文件用于存储:
- 命令行历史。
- searchstring历史。
- input历史logging。
- 非空寄存器的内容。
- 标记几个文件。
- 文件标记,指向文件中的位置。
- 上次search/replace模式('n'和'&')。
- 缓冲区列表。
- 全局variables。
viminfo文件在| + viminfo |时不受支持 function已在编译时被禁用。
你也可以使用Session
文件。