2012-08-09 56 views
1

我已啓用undodir,以便跟蹤我關閉vim會話後所做的更改。手動啓用undodir,需要時

我有時想編輯一個文件,進行一些更改,保存它,然後返回到該會話的原始文件。 (這可能是其中一種可能的用例)

如果我禁用了undodir,我可以簡單地保持擊中u,直到它向我顯示一條消息。

所以我想undodir默認情況下在undo/redo中被禁用,我應該有一個命令來在需要時啓用它。

必須始終以任一狀態跟蹤文件的所有更改。

這可能嗎?

+0

你的意思是'undofile'選項? – kev 2012-08-09 12:35:12

回答

2

據我瞭解的文件,只有設置undodir什麼都不做,除非undofile設置爲true

所以,我假設你想爲某些文件激活undofile

首先要記住的是modeline,以便爲某些文件設置undofiletrue。但不幸的是,這不起作用。

但是,該問題存在於vim開發人員郵件列表中,並且在1月份提供了一個修復程序:http://comments.gmane.org/gmane.editors.vim.devel/32896。目前來源中可能存在此修復程序;所以,如果你想嘗試一下,獲取最新的vim的根源,建立並檢查,如果你能使用的模式來設置udf

,直到有包含固定的正式版本,你可以使用undofile.vim得到解決您的問題。它摘錄的描述:

如果你想'undofile只針對某些文件,您會發現,「undofile」不能在模式行進行設置,或者一旦緩衝區被加載(因爲現有的撤銷文件將不會被加載)。 Bram建議使用BufReadPre autocmd,在加載緩衝區之前設置'undofile'。該腳本爲您執行這些步驟。