Emacs中的前进后退jump-tree

Posted 西西弗斯的痛苦与无聊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Emacs中的前进后退jump-tree相关的知识,希望对你有一定的参考价值。

Emacs中的前进后退jump-tree

Emacs中的前进后退jump-tree

1 效果

可以自由的跳转到不同的定义和文件中去,然后,再跳转回来。

jump-tree_2017-08-12_20-26-52.gif

2 为什么开发这个插件?

本人在使用Emacs的过程中,长期由于缺乏一个类似于Vim的前进和后退的功能而苦恼。搜索了各种jump的实现方式,都总感觉欠缺了点什么。
直到发现jump-list,但是jump-list有时不太清楚到底发生了什么,特别是在阅读别人的代码的时候,经常要跳转到定义的地方去,然后,跳回来,继续往下读,然后再跳到新的定义里面去。但有时候,又想跳到刚刚的定义里面去。这时,由于跳回来之后后面的记录把前面的记录会抹掉,所以,肯定是到不了前面那个定义中去的。
由于,经常使用undo-tree来做一些后退和恢复的操作,发现它的树形记录,可以记录所有的操作历史。任意的状态,总是可以后退回去的。这个在进行反复操作的时候,非常有用。如果发现有什么地方不对,马上打开可视化的界面,进行后退,如果有分支的话,可以进入分支进行查看。于是,想能不能把这两个结合起来。然后,就开发了这个jump-tree插件。

3 特点

3.1 包含jump-list的所有功能

可以根据设定的command列表,只要这些命令执行时,就记录一个位置点,用于后退和前进。

3.2 具有undo-tree的树形结构记录

采用树结构可以用来保存所有的历史位置。我们可以跳转到所有之前记录的位置。

3.3 增加命令移动的距离超过给定值时自动记录位置的功能

当命令移动的距离超过设定值时,记录一个位置点用于后退。比如,翻页,跳转到函数头、函数尾等。这些也可以使用前面的命令列表来实现,默认,命令列表的优先级比这个要高一些。当没有设置命令列表时,只要移动距离比较大,也可以马上退回到之前的位置。

3.4 增加切换buffer或者文件时自动记录位置的功能

当我们的命令,会打开一个新的buffer或者文件时,会记录一个位置,可以跳转回去。

4 安装

  • 可以使用package-list-packages进行安装
  • 可以使用malpa进行安装:
    melpa/jump-tree
  • 也可以从github上直接下载安装:
    yangwen0228/jump-tree
    如果觉得好用也可以给项目点赞。^_^

Date: 2017-08-12 20:03

Author: WEN YANG

Created: 2017-08-12 Sat 20:35

Emacs 25.2.1 (Org mode 8.2.10)

Validate

以上是关于Emacs中的前进后退jump-tree的主要内容,如果未能解决你的问题,请参考以下文章

如何用jQuery禁用浏览器的前进后退按钮

删除桌面应用程序中的 WPF 后退/前进页面导航按钮

如何使用javascript禁用后退和前进按钮

VSCode后退、前进(返回上一处光标,下一处光标)快捷键

js中网页前进和后退的代码

左右滑屏前进后退怎么关闭