2017-06-24 68 views
0

任何人都知道在添加一些文本時是否有辦法在vim中保存寫入,如撤消/重做,但是可以像編輯器編輯器一樣播放。由於如何在vim中保存寫入歷史記錄

+1

你的意思是像持久性撤消?這已經在Vim中了。請參閱[':help'undofile''](http://vimhelp.appspot.com/options.txt.html#%27undofile%27)和[如何使用undofile?](https://vi.stackexchange的.com/q/6/51)。 – Carpetsmoker

+0

hemmm ..它比什麼都沒有,但現在,我應該撤消所有的文件,直到它變空,然後做:重做,直到它再次被填滿,但這樣我想我會失去之間的一些撤銷..for例如,如果我寫:123 \ n 456 \ n:wg然後我將回滾並且重做將正常工作,但是如果我寫123 \ n 678 \ n:u 456 \ n:wq重做方法將錯過678 \ n。我想要看看我的寫作過程是如何演變的。 – pslavkin

+0

undofile只保存過去的撤消步驟,而不是以前撤消的任何步驟。 – Carpetsmoker

回答

1

首先,Vim的撤消不只是一個簡單的線性序列在大多數其他應用程序,它實際上存儲一個完整的包括後來被撤消的編輯。此樹可以使用內置命令進行導航,如g-:earlier;更加舒適地使用像Gundoundotree.vim這樣的插件。這是回憶以前丟棄的替代解決方案的好方法。 (使用版本控制和頻繁,原子提交甚至會更好)


如果你想記錄整個編輯會話,這個內置的命令行選項是爲你:

-w {scriptout} All the characters that you type are recorded in the file 
       "scriptout", until you exit Vim. This is useful if you want 
       to create a script file to be used with "vim -s" or 
       ":source!". When the "scriptout" file already exists, new 
       characters are appended. 

我不確定這在實際中的效果如何(您也必須在某處保存和恢復原始文件內容)。絕對沒有「速度控制」或逐步完成。


如果要重播你的整個編輯過程本身,我會推薦一些屏幕錄像軟件(取決於您的操作系統,以及是否使用GVIM或終端)。那些通常會從中產生一些視頻(例如MP4),這在任何電影播放器​​中都很方便查看(包括跳過和快進)。但它作爲長期存儲格式有點大。

+0

謝謝Ingo,我會幫你一試,我會讓你知道的。屏幕錄製不是一種選擇,'你從你自己回答,我會檢查-w選項..也許這些解決方案的組合,加上一些腳本實現我的目標。 TKS! – pslavkin