2017-06-24 143 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