如果我使用 vim 编辑两个文件,则更改为另一个文件(:bnext,:bprev)似乎会从打开的文件中删除撤消历史记录 - 按“u”键会报告“已在最早的更改”。
例如:
vim testfile1 testfile2
- 将一些内容添加到 testfile1
:w
:bn
:bp
u
- 哎呀!无法撤消!
有什么方法可以保留不可见缓冲区的历史记录吗?
答案1
最新版本的 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/
答案2
看起来这样就可以了:
:set hidden
(在 .vimrc 中)
答案3
您可以使用视口.
“vim -o testfile1 testfile2” - 在分割窗口中打开文件。
“:sp filename” - 分割并打开“filename”。
“:vsp filename” - 垂直分割并打开“filename”。
“Ctrl+w+arrow” - 更改视口。