什么会导致 vim 不保留命令历史?

Bry*_*gee 30 vim command-history

在我运行过的其他发行版上,vim 甚至会在会话之间记住您的命令历史记录;这在对不同文件进行大量类似操作时特别方便。

出于某种原因,它一直在 Ubuntu 12.04 中刷新,我不知道为什么。这是我的:set信息:

:set
--- Options ---
  background=dark     helplang=en         history=1000      nomodeline   scroll=27           showmatch           ttyfast
  expandtab           hidden              incsearch           ruler      showcmd             softtabstop=4       ttymouse=xterm2
  backspace=indent,eol,start
  fileencoding=utf-8
  fileencodings=ucs-bom,utf-8,default,latin1
  printoptions=paper:letter
  runtimepath=~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/share/vim/vim73,/usr/share/vim/vimfiles/after,/var/lib/vim/addons/after,~/.vim/after
  suffixes=.bak,~,.swp,.o,.info,.aux,.log,.dvi,.bbl,.blg,.brf,.cb,.ind,.idx,.ilg,.inx,.out,.toc
Run Code Online (Sandbox Code Playgroud)

Net*_*tch 47

检查 ~/.viminfo 的存在和权限。通常就是它保存命令历史、文件编辑位置等。一种可能的情况是这个文件属于 root。

  • 在我的例子中,我的 `.viminfo` 有大约 1500 个搜索历史结果......但是当我使用 `q:` 来调出之前的搜索历史时,它只显示了 700 个左右的搜索。我在 vim 搜索历史中保留了一些搜索历史......所以我可以在需要时重复它们。知道为什么所有搜索历史都没有显示在 `q:` 窗口中吗? (2认同)