如何在Vim中的括号(或引号或......)之间进行选择?

Roo*_*ook 212 vim quotes brackets parentheses yank

我确定曾经有过这种插件的插件,但是现在我需要它,我似乎无法找到它(自然而然),所以我只会问好看和简单.

在括号,引号或一般匹配字符列表之间选择的最简单方法是什么?

   write ( *, '(a)' ) 'Computed solution coefficients:'
Run Code Online (Sandbox Code Playgroud)

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

我对多线感兴趣,只是在一条线上发生的情况.

Tim*_*omb 266

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

我尝试使用双引号和单引号,它似乎也在那里工作.对于您的数据,我这样做:

write (*, '(a)') 'Computed solution coefficients:'
Run Code Online (Sandbox Code Playgroud)

将光标移动到C,然后键入yi'.将光标移动到空白行,点击p并获取

Computed solution coefficients:
Run Code Online (Sandbox Code Playgroud)

作为CMS指出,这个工程的视觉模式选择,以及-只使用vi),vi},vi',等.

  • 无视最后的评论 - 发现问题所在.奇迹般有效 :-) (4认同)
  • 分开的词是什么意思?我在"[x,y,z]"上试了一下,它挑出了"x,y,z" (2认同)

CMS*_*CMS 259

要在单引号之间进行选择,我通常会vi' 选择("选择内部单引号").

在括号内,我使用vib ("选择内部块")

在花括号块内你可以使用viB("大写字母B")

要使选择"包含"(也可以选择引号,括号或大括号),您可以使用a而不是i.

您可以在手册或vim中阅读有关Text对象选择的更多信息:help text-objects.

  • 'a'救了我的一天. (3认同)

mic*_*ael 27

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

:help text-objects.

  • :help text-objects 更接近有用的东西...你至少可以提到一些常见的东西,比如在视觉模式下的 a" 和 a( 。 (2认同)
  • (另外,+1因为尽管是一个长期的vim用户,但我不知道这些!) (2认同)

Can*_*pus 20

用于在单引号内选择使用vi'.

用于在括号内选择使用vi(.

  • 注意:`ci'`或`ci(`用于改变而不是视觉选择.但它确实完全符合我的要求.谢谢:) (3认同)

Sto*_*bor 7

使用箭头或hjkl转到其中一个包围表达式,然后v选择视觉(即选择)模式,然后%跳转到另一个括号.

  • (不幸的是,不做报价,但......) (5认同)

chi*_*uin 6

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

您可能认为ci<可行,但实际上只有当您位于标签之一内部时才有效:

<would work inside here> But not here </would work inside here>
Run Code Online (Sandbox Code Playgroud)

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

<div>change me</div>
Run Code Online (Sandbox Code Playgroud)

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

感谢您提到文档(:help text-objects)的其他答案,这就是我找到我正在寻找的内容的方式。


isl*_*mux 6

停在括号的开头,然后全选并打印:

vi' 

vi(

vi[ 

vi{

vi<

vi"
Run Code Online (Sandbox Code Playgroud)

如果你想删除替换vidi