繁体   English   中英

如何从Vim搜索列表跳转到某个事件

[英]How to jump to an occurrence from Vim search list

在Vim编辑我选择]I上(在C ++代码)的功能。 这提供了一个列表,其中显示“按ENTER或键入命令继续”

现在跳到6的事件,我输入6 - 但这不起作用。

在这种情况下我可以键入哪些命令,如何从此列表中跳转到第N个匹配项?

更新:

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

更新

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

它应该为您提供如下列表:

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

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

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

[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

请:在vim上选择以查看完整定义

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

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

所以给定

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

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

当我使用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

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

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

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

尝试使用123G转到第123行(参见:h G )。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM