假设一行文字为:
$x = ( frobnicate( foo( bar( $x, $y )[ 1 ]))[ 1 ]);
光标位于'frobnicate'的'f'上,我想要抓住包含对frobnicate的调用的文本。 (也就是说,一切都是第三个右括号。我当然可以这样做:
y3f)
或与
交互式地进行vf);;y
但这些都不具吸引力。 (我不想手动计算'3',也不要重复查找,直到我到达终点。)是否有一种简单的方法可以完成从'f'到匹配关闭paren的移动?我在想像v_i'内部词'运动命令。
答案 0 :(得分:10)
y%
似乎有效。
来自help %
:
在此后找到此行中的下一个项目 或者在光标下跳转到它 比赛。包容性动议。物品可以 be:
([{}])
括号或 (卷曲/方形)括号
答案 1 :(得分:0)
您可以尝试yel%
将光标定位到左括号,然后使用%
跳转到最后一个,但它看起来效率不比当前解决方案高。
唯一的好处是你不需要计算任何东西,它适用于嵌套调用。
编辑:
正如彼得所指出的那样,y%
起作用并且是一种优越的解决方案(即使我不太明白为什么它有效.Vim太神奇了!)