当前位置:  开发笔记 > 编程语言 > 正文

如何使用VIM的撤消树?

如何解决《如何使用VIM的撤消树?》经验,为你挑选了6个好方法。

这个答案说:

Vim的撤销/重做系统是无与伦比的.键入内容,撤消,键入其他内容,您仍然可以取回键入的第一个内容,因为Vim使用撤消树而不是堆栈.在几乎所有其他程序中,您输入的第一件事的历史在这种情况下都会丢失.

这是我第一次听到这个.我怎么能沿着树回溯呢?



1> Brian Carper..:

另请参阅:h undo-redo,其中列出了所有命令及其用法.

有两种方法可以遍历撤消树.一个是"回到过去". g+并按g-时间顺序或反向时间顺序遍历树中的所有节点(这可能有点令人困惑,因为它可以在撤销分支之间任意跳转,但如果你做得g-足够长,你总会到达你需要去的地方最终). :earlier:later采用像7m或的时间描述符1h; 再次,这可以在撤消分支之间任意跳转.

另一种方法是跳转到树中的特定节点,:undo n其中where n是多个动作.(所有操作,即文本添加,删除,替换,都按顺序编号.)您可以通过查找撤消树的叶子上的操作数:undolist.这将让您轻松地在分支之间跳转.然后u,您可以使用和Ctrl-R上下移动该分支.

在Vim帮助中有一些很好的例子.弄清楚这是如何工作的最好方法是稍微玩一下.


你能合并分支吗?(我在开玩笑)
有点儿.查找:h undojoin
Vim太棒了,它甚至实现了我们开玩笑的方式!
我不知道如何使用这个撤销树,但我知道它有一天会挽救我的生命.嗯,这一天到来了.谢谢!!

2> Steve Losh..:

I'm a bit late to the party, but I figured I'd mention that I wrote an undo tree visualization plugin for Vim: http://bitbucket.org/sjl/gundo.vim/

Personally I found that graphing the tree like this was the only way I could make sense of it.



3> SolutionYogi..:

此页面介绍了您需要了解的所有内容:

http://vimdoc.sourceforge.net/htmldoc/usr_32.html



4> Wadih M...:

如果您正在使用vim,则可以使用以下命令在undo树中导航:

u:(撤消)在撤消树中返回

Ctrl+R:(重做)在撤消树中向前移动

将文档及时返回或转发的其他方法:

:earlier 15m:及时回到15分钟

:later 15m:及时前进15分钟


此答案仅说明如何在一个分支上前进和后退。不是如何在分支之间移动。

5> Alexander..:

我知道这个问题已得到解答,但我想我会添加一个例子.

创建一个新文件并键入:

this is a line

undol将显示撤消树.此时你还没有撤消任何东西

:undol

number changes  when               saved
     1       1  14:50:36

现在按ESC并将行修改为:

this is a old line

切换到正常模式并按u(撤消),这应该删除"旧".如果你检查undol,此时你仍然只有一个分支.

现在修改该行,使其说:

this is a new line

现在:undol显示:

number changes  when               saved
     2       2  87 seconds ago
     3       2  3 seconds ago

您可以通过键入切换到第一个分支

:u 2

这会将您移动到与数字2关联的分支的末尾.您可以使用g+和移动此分支g-.在这一点上g+什么都不做(你在叶子).如果您按g-"旧"将被删除(您正在遍历第一个撤消树).即如果您删除"旧" g-g+再次按,"旧"将重做.

如果你输入

:u 3

您将跳转到第二个撤消分支的叶子,它将显示为:

this is a new line



6> 小智..:

其中很多内容总结如下:

http://vim.wikia.com/wiki/Using_undo_branches

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有