6

在 Vim 编辑器中,我选择]I了一个函数(在 C++ 代码中)。这显示了一个列表,上面写着'Press ENTER or type command to continue'

现在要跳转到一个事件,比如 6,我输入6- 但这不起作用。

在这种情况下我可以输入什么命令,我如何从这个列表中跳转到第 N 次出现?

更新:

实际上我试过:N(例如 :6)——但是当我输入:Vim 的那一刻进入了插入模式,冒号被插入到代码中。

更新

假设:N方法是正确的,仍然完全卸载和安装 Vim,没有任何配置,也没有帮助 - 尽管现在输入:不会将 Vim 切换到插入模式。

4

7 回答 7

2

它应该为您提供一个列表,例如:

1:   345 my_func (int var)
2:  4523 my_func (int var)
3: 10032 my_func (3);

第二列是行号。输入 :345 跳转到第 345 行。

于 2008-09-26T05:44:02.037 回答
1

在 vim 上执行 :h tselect 以查看完整的定义

如果您已经看到要使用的标签,您可以输入“q”并输入数字。

于 2008-09-26T06:10:40.910 回答
1

如果您按下跳跃按钮,并获得可能的目标列表,请选择数字,然后再次按下跳跃。

所以给定

1:   345 my_func (int var)
2:  4523 my_func (int var)
3: 10032 my_func (3);

如果你点击'2]|',它应该直接跳到那行。

于 2008-09-26T22:26:17.780 回答
1

我遇到了同样的问题,将以前的答案拼凑在一起并进行试验,我想出了这个解决方案:

[I  // gives list of matches for word under cursor, potentially some matches are in headers. remember the number of the match you're interested in, eg. the 3rd
q  // quits the list of matches
3[Ctrl-i  // (with cursor in same position) jumps to third match
于 2009-06-30T08:54:07.940 回答
0

当我使用 vim 时,我会跳转到一个标签,例如:

 :tag getfirst

我得到的东西看起来像:

  # pri kind tag               file
  1 F   m    getfirst          /home/sthorne/work/.../FormData.py
               class:FakeFieldStorage
               def getfirst(self, k, default):
    ....
  8 F   m    getfirst          /home/sthorne/work/.../CGIForm.py
               class:CGIForm
               def getfirst(self, name):
Choice number (<Enter> cancels):

我键入“5”以转到第 5 次出现。

如果你不能让你的 vim 有这种行为(我的 vim 默认情况下它似乎是打开的),你可以使用g]而不是ctrl-],这类似于 :tselect而不是:tag

于 2008-09-26T05:52:31.890 回答
0

[I只列出搜索结果。要跳转到结果,请使用 sequence [ CTRL+I

您可以在以下位置查看相关跳转的完整列表:

http://www.vim.org/htmldoc/tagsrch.html#include-search

于 2008-11-03T08:11:10.280 回答
-2

尝试使用123G转到第 123 行(请参阅 参考资料:h G)。

于 2008-09-26T06:12:09.690 回答