如何在Vim中的括号(或引号或…)之间进行select?
我确定曾经有过这样一个插件,但现在我需要它,我似乎无法find它(自然),所以我只会问好和简单。
什么是最简单的方法来select括号内,或报价,或一般的匹配字符列表?
write ( *, '(a)' ) 'Computed solution coefficients:'  例如,在这里,我想select(a)或Computed solution coefficients: 。 
我对多行不感兴趣,只是发生在一行上的情况。
 使用任何你想要在括号内的导航键,然后你可以使用yi(或yi)来复制匹配的parens中的所有内容。 这也适用于方括号(如yi] )和花括号。 除y ,还可以删除或更改文本(例如ci) , di] )。 
我用双引号和单引号试了这个,看起来也在那里工作。 对于您的数据,我这样做:
 write (*, '(a)') 'Computed solution coefficients:' 
 将光标移到C ,然后键入yi' 。 将光标移动到一个空白行,按p ,然后获取 
 Computed solution coefficients: 
 正如CMS指出的 ,这也适用于视觉模式select – 只要使用vi) , vi} , vi'等 
 要select单引号之间我通常做一个vi' (“select内部的单引号”)。 
 在括号内,我使用了vib (“select inner block”) 
 在大括号内,你可以使用viB (“大写B”) 
 为了使select“包容”(也可以select引号,括号或大括号),你可以使用a而不是i 。 
您可以阅读手册上关于文本对象select的更多信息。
这个select的方法是内置的,在Vim的帮助下很好的覆盖了。 它涵盖了XML标签等等。
 请参阅:help text-objects 。 
 在单引号内select使用vi' 。 
 为了在括号内select使用vi( 。 
 使用箭头或hjkl来到一个括号expression式,然后vselect视觉(即select)模式,然后%跳转到另一个括号。 
 使用searchpair内置函数在.vimrc中编写一个Vim函数: 
 searchpair({start}, {middle}, {end} [, {flags} [, {skip} [, {stopline} [, {timeout}]]]]) Search for the match of a nested start-end pair. This can be used to find the "endif" that matches an "if", while other if/endif pairs in between are ignored. [...] 
 我做了一个插件vim-textobj-quotes : https : //github.com/beloglazov/vim-textobj-quotes 
 它为任何types的最接近的引号提供文本对象。 只使用iq或aq它允许你操作当前围绕游标的单引号('),双引号(“)或后退引号(')的内容,位于游标前面或后面(按照偏好),换句话说,当需要达到报价时,它向前或向后跳转。 
 通过查看示例更容易理解(光标显示为| ): 
-  之前: foo '1, |2, 3' bar; 按下diq:foo '|' barfoo '|' bar
-  之前: foo| '1, 2, 3' barfoo| '1, 2, 3' bar; 按下diq:foo '|' barfoo '|' bar
-  之前: foo '1, 2, 3' |bar; 按下diq:foo '|' barfoo '|' bar
-  之前: foo '1, |2, 3' bar; 在按下daq:foo | barfoo | bar
-  之前: foo| '1, 2, 3' barfoo| '1, 2, 3' bar; 在按下daq:foo | barfoo | bar
-  之前: foo '1, 2, 3' |bar; 在按下daq:foo | barfoo | bar
上面的例子是针对单引号给出的,这个插件对于double(“)和back(”)引用的工作方式完全一样。
 您也可以使用其他任何操作符: ciq , diq , yiq , viq等 
请看上面链接的github页面以获取更多细节。
我会添加一个细节,以最多的投票答案:
如果您使用的是gvim并想要复制到剪贴板,请使用
 "+<command> 
要复制括号(或parens或大括号)之间的所有内容,
 例如: "+yi}将复制到剪贴板中您的光标所在花括号之间的所有内容。 
vim中的一个简单的键盘映射将解决这个问题。 map viq F“lvf”hh上面这个命令将viq映射到两个键之间,用来在引号之间进行search。 replace“任何字符,并创build您的键盘映射。在启动期间粘贴在vimrc中,你应该能够每次使用它。