我确信曾经有一个插件这类的东西,但现在我需要它,我似乎找不到它(自然),所以我只会问nice和简单。

在括号、引号或匹配字符列表中选择最简单的方法是什么?

   write ( *, '(a)' ) 'Computed solution coefficients:'

例如,这里我想选择(a),或Computed solution coefficients:。

我对多行不感兴趣,只对发生在一行上的情况感兴趣。


当前回答

这种选择方法是内置的,并且在Vim帮助中有很好的介绍。它涵盖了XML标记等内容。

参见:help文本对象。

其他回答

要在单引号之间进行选择,我通常使用vi'(“选择内部单引号”)。

在圆括号块中,我使用vib ("select inner block")

在花括号块中,可以使用viB(大写B)

要使选项“包含”(同时选择引号、圆括号或大括号),可以使用a代替i。

您可以在手册上阅读更多关于文本对象选择的内容,或者:帮助vim中的文本对象。

停在括号的开头,全部选中并打印

vi' 

vi(

vi[ 

vi{

vi<

vi"

如果要删除,请将vi替换为di

使用任何您想要进入圆括号内的导航键,然后您可以使用yi(或yi)复制匹配圆括号内的所有内容。这也适用于方括号(例如yi])和花括号。除了y,您还可以删除或更改文本(例如ci), di])。

我尝试了双引号和单引号,它似乎也在那里工作。为了你的数据,我:

write (*, '(a)') 'Computed solution coefficients:'

移动光标到C,然后输入yi'。将光标移动到空行,点击p,然后get

Computed solution coefficients:

正如CMS所指出的,这也适用于视觉模式选择-只需使用vi), vi}, vi'等。

这种选择方法是内置的,并且在Vim帮助中有很好的介绍。它涵盖了XML标记等内容。

参见:help文本对象。

我想补充一些已经很好的答案。我来这里寻找一种方法来改变html括号内的文本,所以我想为其他人提供一个答案,也在寻找它。

你可能认为ci<可以工作,但实际上只有当你在其中一个标签内部时才可以工作:

<would work inside here> But not here </would work inside here>

我想要的是改变html标签之间的文本本身:

<div>change me</div>

我想要的是“改变内部标签”:cit

感谢另一个提到文档(:help text-objects)的答案,这就是我如何找到我正在寻找的东西。