Vim记录历史

时间:2012-05-25 10:34:08

标签: vim

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

5 个答案:

答案 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文件的权限。您可能需要使用chownsudo 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个文件。