Vim-选择/拉出/删除括号之间的内容(包括括号)

Vim-选择/拉出/删除括号之间的内容(包括括号)

在 vim 中,是否可以选择括号内的内容(包括括号),类似于

yi{ yi(

但我想加上括号。

答案1

您可以将光标移到一个括号上,然后执行vf{vf(进入可视模式,然后选择直到(包括)括号的所有内容。

答案2

是的。使用a而不是i,因为

ya{
ya(

:help a{
:help a(

更普遍地说,

:help text-objects
:help 04.8

答案3

f{v%或能f(v%达到你想要的效果吗?它会将光标移动到下一个 { 或 (,进入可视模式,然后将光标移动到相应的结束 } 或 )。如果你已经超出了要选择的范围,则可以使用大写F。同样可以先跳转到结束 } 或 ) -- f}v%

一旦选定了想要的内容,您就可以ydx等。该%命令也适用于多行,因此,如果您愿意,您可以在大块代码上使用此技术(尽管fF不能,因此您必须从第一行或最后一行开始)。

编辑:更好的答案似乎正是您正在寻找的:

ya(

用 替换i原始命令中的a可以完成完全相同的操作,只不过它包括'(' 字符。这是“拉动A阻止”,而yi(“拉动n内块”。

答案4

我使用vi{va{来选择括号之间的内容。这样做的好处是,在拖拽之前,你可以看到所选内容。

相关内容