在Vim的当前行搜索?

时间:2014-08-01 03:41:43

标签: vim

我喜欢vim中的增量搜索(/pattern),它与我输入时的模式相匹配。但它在文件范围内。是否可以限制它以便在当前行中搜索并在到达行结束时回绕?这将有助于加速一行中的导航,因此如果没有引入额外的(更多)击键,那将是很好的。

3 个答案:

答案 0 :(得分:5)

你可以这样做。

noremap <F6> /\%<C-R>=line('.')<CR>l

这使用\%l原子来匹配当前行。例如,\%15l与第15行匹配。这会将搜索限制为该行。看看:h \%l。要获取当前行号,我们使用表达式寄存器和行函数。

答案 1 :(得分:3)

pattern atoms in the vim documents,它看起来vim不支持当前行搜索。但是还有其他两种方法可以做类似的事情。

  • 首先选择当前行,然后使用\%V在seletion中搜索。
  • 使用\%* l在指定的行中搜索,例如使用/ \%12laaa搜索第12行中的aaa。

还有一些其他方法可以在标记之间进行搜索,但它看起来太复杂了。

答案 2 :(得分:3)

您可以使用fFtT,;搜索该行中的单个字符:

f(
2T=

wWbBeE如果你不想思考。

请参阅:help navigation