我如何获得vim保留其撤消历史记录?


36

如果我正在用vim编辑两个文件,则更改为另一个文件(:bnext,:bprev)似乎会从打开的文件中删除撤消历史记录-单击'u'键报告“已是最早的更改”。

例如:

  1. vim testfile1 testfile2
  2. 添加一些东西到testfile1
  3. :w
  4. :bn
  5. :bp
  6. u
  7. eep!不能撤消!

有什么办法可以保留不可见缓冲区的历史记录?


应该在超级用户还是在stackoverflow中呢?
Ressu

@Ressu-好点,我们怎么知道?元问题发布:meta.ubuntu.stackexchange.com/questions/47/…–
杰里米·克尔

根据该元问题的结果,我可能会删除它。
杰里米·克尔

Answers:


42

最新版本的vim(7.3)具有永久撤消功能,因此您可以进行更改,完全关闭vim(甚至关闭并重新启动),重新启动vim和撤消。在您的.vimrc

" tell it to use an undo file
set undofile
" set a directory to store the undo history
set undodir=/home/yourname/.vimundo/

11
注意,必须首先创建目录,vim不会自动创建目录。撤消文件使用文件系统路径保存(在保存文件的同时)。如果您在/home/peter,则编辑.bashrc将创建该文件/home/peter/.vimundo/%home%peter%.bashrc
Lekensteyn


1

您可以使用视口
“ vim -o testfile1 testfile2”-在拆分的窗口中打开文件。
“:sp filename”-拆分并打开“文件名”。
“:vsp filename”-垂直拆分并打开“ filename”。
“ Ctrl + w +箭头”-更改视口。


我不想为每个文件保留一个永久可见的缓冲区;一次打开20个以上的文件并不罕见。
杰里米·克尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.