转到与 `[I`: 命令匹配的行,显示光标下有单词的行。

转到与 `[I`: 命令匹配的行,显示光标下有单词的行。

按下 时,[IVIM 会显示与光标下的单词匹配的行列表。例如,如果光标在单词上Table并按下 ,[I则会显示以下内容:

  1:   49 class Table(object):
  2:  220         new_table = Table(t, records)
  3:  241         tables.append(Table(row[0], row[1],))
  4:  392         tables.append(Table(t, records))
Press ENTER or type command to continue

如何轻松地从列表中选择一个选项,即跳转到其中的一行?我试过TabCtrl-NCtrl-Pj箭头键,以及输入12等。这些都不起作用。我知道我可以简单地输入行号,然后gg跳转到相关行,但我想知道 VIM 是否还有其他绝招。

答案1

以下 vim 映射应该可以完成您想要的操作(映射基于我对此映射的记忆词:)fast-search

nmap <leader>fs [I:let nr = input("Which one: ")<Bar>exe "normal " . nr ."[\t"<CR>

上述命令首先从文件开头列出与光标下的单词匹配的行,然后询问您要跳转到哪个匹配,最后跳转到该匹配。

如果您希望列出从光标下的单词开始的行,而不是文件的开头,则可以使用:

nmap <leader>fs ]I:let nr = input("Which one: ")<Bar>exe "normal " . nr ."]\t"<CR>

注意在后面的命令中方括号被反转。

答案2

该列表不是交互式的,您应该执行以下操作来跳转到第二场比赛:

:220<CR>

相关内容