Vim存储我们使用“:”应用的命令列表,用于当前执行。但是当我关闭vim并重新启动它时,vim命令历史记录会丢失。
我尝试在.vimrc文件中使用set history=1000
,但没有帮助。
Vim在哪里维护本地命令历史记录?
保留命令历史记录的命令是什么?
Vim存储我们使用“:”应用的命令列表,用于当前执行。但是当我关闭vim并重新启动它时,vim命令历史记录会丢失。
我尝试在.vimrc文件中使用set history=1000
,但没有帮助。
Vim在哪里维护本地命令历史记录?
保留命令历史记录的命令是什么?
有一个问题引起了我的注意,可能是你的问题,也可能不是:
在一些Linux系统上(例如Ubuntu),如果第一次以超级用户身份运行VIM,则会创建$HOME/.viminfo文件并将其所有者设置为root,而您的本地用户没有写入权限。这就解释了为什么即使正确配置了所有内容,我的VIM也无法存储命令历史记录。
要点:在*nix系统中,找到您的.viminfo文件,并确保您对其具有读/写权限。
检查Vim是否支持存储历史记录的'viminfo'
文件::echo has('viminfo')
。相应的设置不应为空::set viminfo?
,且:set history?
应大于一。
如果写入viminfo文件时出现问题(尽管在这种情况下Vim应该会抱怨),您可以尝试通过vim -i /tmp/viminfo
传递不同的位置。
~/.viminfo
,而且 Vim 没有通知我,这感觉很奇怪。 - Amir.viminfo
中有大约1500个命令行命令,q:
也只显示了大约700个。我将命令的小片段存储在命令行历史记录中,以便重复使用它们而无需将它们存储在另一个文件中。这通常很有效...我已经检查过我对.viminfo
拥有权限,但它仍然不起作用。history
设置为存储最后10000
条记录。有任何想法为什么它不能按预期工作吗? - alpha_989您需要检查.viminfo
文件的权限。您可能需要使用chown
或sudo chown
更改该文件的所有者为当前用户。
Baint先生已经给出了答案。
$HOME
directory.ls -l .viminfo
to check permissions.change permission so that group and owner also can have write permission. use:
sudo chown yourUserId $HOME/.viminfo
这应该解决了问题。
:verbose set viminfo?
Session
文件。在Ubuntu上,我在viminfo解决方案上转了一圈,但结果出现了错误。
最终我在命令模式下执行了"version"命令,大部分内容都返回了"-",包括: -cmdline_hist -cmdline_info
然后我运行了以下命令,一切都恢复正常了: sudo apt install vim
如果你正在使用vimrc文件,请检查您的文件夹和文件是否存在且正确
set history=200
set undolevels=128
set undodir=~/.vim/undodir/
set undofile
set undolevels=1000
set undoreload=10000
我曾经遇到过同样的问题。问题在于我安装了 vim-minimal(这是 Fedora 的默认设置),它不支持历史记录。我不得不卸载它并安装完整版的 vim。现在我有了历史记录...和语法高亮!
.vimrc
文件,没有关于命令历史记录的设置...保存历史记录似乎是默认设置。 - Stefan