Vim存储我们使用的命令列表:用于当前执行。
但是当我关闭vim并再次启动时,vim命令历史记录丢失了。
我在.vimrc文件中尝试set history = 1000
,但这没有帮助。
Vim在哪里维护本地命令历史记录?
保留命令历史记录的命令是什么?
答案 0 :(得分:74)
这个问题在前几天引起了我的注意,这可能是也可能不是你的问题:
在某些Linux系统(例如Ubuntu)上,如果您第一次运行VIM,则以超级用户身份运行它,然后使用root用户创建$ HOME / .viminfo文件,而您的本地用户没有写入权限的权限。这解释了为什么我的VIM在正确配置时没有存储命令历史记录。
底线:在* nix系统上,找到.viminfo文件,并确保您具有读/写权限。
答案 1 :(得分:22)
要检查Vim是否支持'viminfo'
文件(存储历史记录),:echo has('viminfo')
。相应的设置不得为空::set viminfo?
,:set history?
应大于一。
如果在编写viminfo文件时出现问题(虽然Vim应该在这种情况下抱怨),您可以尝试通过vim -i /tmp/viminfo
传递不同的位置
答案 2 :(得分:9)
您应该检查.viminfo
文件的权限。您可能需要使用chown
或sudo chown
将文件的所有者更改为当前用户。
答案 3 :(得分:4)
先生。 Baint给出了答案。
$HOME
目录。ls -l .viminfo
以检查权限。更改权限,以便组和所有者也可以进行写入 允许。使用方法:
sudo chown yourUserId $HOME/.viminfo
应该解决这个问题。
答案 4 :(得分:1)
您必须设置viminfo选项。将其设置在$ MYVIMRC
中更新要找出上次设置/更改选项的位置:
:verbose set viminfo?
请参阅http://vimdoc.sourceforge.net/htmldoc/starting.html#viminfo-file
如果您退出Vim并稍后再次启动它,通常会失去很多 信息。 viminfo文件可用于记住该信息 让您继续从中断的地方继续。
这在[21.3 |]节中介绍用户手册。
viminfo文件用于存储:
- 命令行历史记录。
- 搜索字符串历史记录。
- 输入行历史记录。
- 非空寄存器的内容。
- 标记多个文件。
- 文件标记,指向文件中的位置。
- 上次搜索/替代模式(代表'n'和'&')。
- 缓冲区列表。
- 全局变量。
| + viminfo |时不支持viminfo文件功能已经 在编译时禁用。
您还可以使用Session
个文件。