2010-04-28 68 views
59

時,如果我在一個文件我的工作,換到另一個緩衝區,然後再變回來,我已經失去了我撤消歷史記錄。VIM失去撤消歷史變化的緩衝劑

  1. FILE1.TXT - 做了一堆變化&保存。
  2. 打開新的緩衝區 - :電子test.txt的
  3. 切換回FILE1.TXT - :B#
  4. 撤消的歷史已經一去不復返了。

任何變通的呢?

+0

這抓住了我措手不及不止一次。我懷疑你問的是因爲':sp test.txt'或':tabe test.txt'不適合你? – 2010-04-28 18:54:09

+0

是的。我不使用標籤,因爲我發現只有一個垂直分割最容易管理。如果需要的話,我會做更多的分割,但主要問題是我不斷切換緩衝區,最終想返回到前一個緩衝區並撤消某些操作。如果我知道我將要編輯一個文件並且可能需要撤消,那麼我儘量不要在該窗口中切換緩衝區 - 但有時我會忘記。 – Brian 2010-04-28 20:23:05

回答

73

你可以:set hidden。這意味着只有在切換到新文件時纔會隱藏舊文件的緩衝區。當你切換回來時,你仍然有你的撤消歷史。

+5

否則我愛VIM,在這裏吸一點點:(本「:設置爲隱藏。」?選項應該是默認開啓 – 2014-12-05 13:44:30

46

您還可以添加持久撤消,這將有VIM店您的撤消即使是通過重新啓動:

" Persistent undo 
set undofile 
set undodir=$HOME/.vim/undo 

set undolevels=1000 
set undoreload=10000 

編輯 - 通過@sanbor:

不要忘記做mkdir ~/.vim/undo,否則vim不會爲你做。

+0

的人,請告訴我這是爲什麼不是更好 – 2015-01-03 02:32:30

+0

這是更好,我是短短4年晚於另一個:) – 2015-01-03 19:37:14

+0

然後讓時間來解決它。 ; p – 2015-01-03 19:56:06