Vim记录历史

pra*_*kar 45 vim

Vim存储我们使用的命令列表:用于当前执行.但是当我关闭vim并再次启动时,vim命令历史记录丢失了.我试过set history = 1000.vimrc文件,但没有帮助.
Vim在哪里维护本地命令历史记录?
保留命令历史记录的命令是什么?

Bal*_*int 74

只是一个让我在前几天抓到的问题,这可能是也可能不是你的问题:

在一些Linux系统(例如Ubuntu的),如果您运行VIM的第一次,可以将其作为一个超级用户,那么$ HOME/.viminfo文件被用根所有者创建和你的本地用户没有权限写它.这解释了为什么我的VIM在正确配置时没有存储命令历史记录.

底线:在*nix系统上,找到.viminfo文件,并确保您具有读/写权限.

  • 超!感谢一个工厂为那个提示Balint! (2认同)

Ing*_*kat 23

要检查是否Vim的支持'viminfo'文件(存储历史):echo has('viminfo').相应的设置不能为空::set viminfo?,且:set history?应大于1.

如果写viminfo文件时出现问题(虽然Vim应该在这种情况下抱怨),你可以尝试通过另一个位置通过 vim -i /tmp/viminfo

  • wtf,我的〜/ .viminfo是root:root,绝对没有理由,vim也没有抱怨! (13认同)
  • 奇怪的是我没有得到写给`〜/ .viminfo`的许可,而vim没有通知我. (11认同)

Cha*_*sun 9

您应该检查.viminfo文件的权限.您可能需要使用chown或将文件的所有者更改为当前用户sudo chown.


小智 6

贝恩特先生给出了答案。

  • 进入$HOME目录。
  • ls -l .viminfo检查权限。
  • 更改权限,以便组和所有者也可以拥有写入权限。用:

     sudo chown yourUserId $HOME/.viminfo
    
    Run Code Online (Sandbox Code Playgroud)

它应该解决这个问题。