与vim的跳转列表混淆

  • 本文关键字:列表 vim vim jump-list
  • 更新时间 :
  • 英文 :


大家好,我对vim的跳转列表和的移动有些困惑。我认为它不太适合理解代码。假设我们有一些代码,比如:

package main
import "fmt"
func main() {
fmt.Println("vim-go")
hello_world()
final_answer()
}
func hello_world() {
hello()
world()
}
func hello() {
hello1()
}
func hello1() {}
func world() {
world1()
}
func world1() {}
func final_answer() {
final()
answer()
}
func final() {
final1()
}
func final1() {
}
func answer() {
answer1()
}
func answer1() {}

现在我想了解主要功能是什么。所以,我必须想象hello_world和final_answer函数的作用以及hello,world,final。。。我认为理解所有这些功能的途径应该是我想要的理解路径

当使用和浏览代码时,我得到了这样的跳转路径:

vim-的实际跳转列表

vim的跳转列表与图片中第9步我想要的代码路径不一致。

我想要的方式是,当我从函数hello_world中的world((调用中按下时,我可以跳回main中的hello_worldd((调用,但不能跳回hello1((的定义。

有人知道我是否用错了vim的跳转列表吗?或者当我按下at world((时,我如何跳回hello_world?

最后,我在https://github.com/vim/vim/blob/master/src/mark.c#L155

正如评论所说的

如果最后使用的条目不在顶部,则通过旋转将其放在顶部堆栈,直到它是(较新的条目将在底部(。在顶部保留一个条目(最后使用的条目(。

通过在src/Makefile:中添加一行

EXTRA_DEFS+=-DJUMPLIST_ROTATE

并重新编译vim,我可以得到我想要的。

相关内容

  • 没有找到相关文章

最新更新