我确信曾经有一个插件这类的东西,但现在我需要它,我似乎找不到它(自然),所以我只会问nice和简单。
在括号、引号或匹配字符列表中选择最简单的方法是什么?
write ( *, '(a)' ) 'Computed solution coefficients:'
例如,这里我想选择(a),或Computed solution coefficients:。
我对多行不感兴趣,只对发生在一行上的情况感兴趣。
我确信曾经有一个插件这类的东西,但现在我需要它,我似乎找不到它(自然),所以我只会问nice和简单。
在括号、引号或匹配字符列表中选择最简单的方法是什么?
write ( *, '(a)' ) 'Computed solution coefficients:'
例如,这里我想选择(a),或Computed solution coefficients:。
我对多行不感兴趣,只对发生在一行上的情况感兴趣。
当前回答
我做了一个插件vim-textobj-quotes: https://github.com/beloglazov/vim-textobj-quotes
它为任何类型的最接近的引号对提供文本对象。仅使用iq或aq,它允许您操作当前环绕光标的单(')、双(")或后(')引号的内容,这些引号在光标的前面或后面(按优先顺序)。换句话说,它在需要达到引号时向前或向后跳转。
通过查看示例更容易理解(游标显示为|):
前:foo '1, | 2,3 ' bar;按diq: foo '|'条后 前:foo| ' 1,2,3 ' bar;按diq: foo '|'条后 foo ' 1,2,3 ' |bar;按diq: foo '|'条后 前:foo '1, | 2,3 ' bar;按daq后:foo | bar 前:foo| ' 1,2,3 ' bar;按daq后:foo | bar foo ' 1,2,3 ' |bar;按daq后:foo | bar
上面的例子是单引号的例子,插件对双引号(")和反引号(')的工作方式完全相同。
您还可以使用任何其他操作符:ciq、diq、yiq、viq等。
请看看上面链接的github页面了解更多细节。
其他回答
停在括号的开头,全部选中并打印
vi'
vi(
vi[
vi{
vi<
vi"
如果要删除,请将vi替换为di
我做了一个插件vim-textobj-quotes: https://github.com/beloglazov/vim-textobj-quotes
它为任何类型的最接近的引号对提供文本对象。仅使用iq或aq,它允许您操作当前环绕光标的单(')、双(")或后(')引号的内容,这些引号在光标的前面或后面(按优先顺序)。换句话说,它在需要达到引号时向前或向后跳转。
通过查看示例更容易理解(游标显示为|):
前:foo '1, | 2,3 ' bar;按diq: foo '|'条后 前:foo| ' 1,2,3 ' bar;按diq: foo '|'条后 foo ' 1,2,3 ' |bar;按diq: foo '|'条后 前:foo '1, | 2,3 ' bar;按daq后:foo | bar 前:foo| ' 1,2,3 ' bar;按daq后:foo | bar foo ' 1,2,3 ' |bar;按daq后:foo | bar
上面的例子是单引号的例子,插件对双引号(")和反引号(')的工作方式完全相同。
您还可以使用任何其他操作符:ciq、diq、yiq、viq等。
请看看上面链接的github页面了解更多细节。
使用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.
[...]
(http://vimdoc.sourceforge.net/htmldoc/eval.html)
使用任何您想要进入圆括号内的导航键,然后您可以使用yi(或yi)复制匹配圆括号内的所有内容。这也适用于方括号(例如yi])和花括号。除了y,您还可以删除或更改文本(例如ci), di])。
我尝试了双引号和单引号,它似乎也在那里工作。为了你的数据,我:
write (*, '(a)') 'Computed solution coefficients:'
移动光标到C,然后输入yi'。将光标移动到空行,点击p,然后get
Computed solution coefficients:
正如CMS所指出的,这也适用于视觉模式选择-只需使用vi), vi}, vi'等。
使用箭头或hjkl进入一个括号表达式,然后v选择可视(即选择)模式,然后%跳转到另一个括号。