vi/vim 替代 sublimetext 的“将选择范围扩大到范围”

pal*_*aja 15 vim vi text-editors sublime-text-2

Sublime text 有一个很酷的功能,叫做“将选择扩展到范围SHIFT+CMD+SPACE可以选择范围内的所有内容。

它选择范围内的所有内容,完美运行 ( ) 或 [ ] 或 { } 重复它将范围扩展到其父级。

我希望用 vim 实现同样的目标。

Tho*_*hor 25

如果你的意思是vim你可以用视觉模式 ( :help visual-mode) 和文本对象 ( :help text-objects)来做到这一点。

要选择花括号块,请执行:v+ a+ {,选择封闭块重复a+ {。请注意,您可以选择使用i代替来仅选择大括号的内容a

这些命令与 vim 中的许多其他命令一样,由一个动作和一个文本对象组成,其中文本对象可以在前面加上一个数字以包含更多受该动作影响的对象。所以,你也可以通过替换删除对象vd或更正c

除了(),{}和之外,还有许多其他内容的文本对象[],例如:

  • a+w表示一个词。
  • a+s表示一个句子。
  • a+p表示一个段落。
  • a+<表示<>块。
  • a+'表示单引号字符串。
  • a+"表示双引号字符串。

您可能还对环绕插件感兴趣,它允许您添加/替换/删除周围的字符甚至标签。

  • @palaniraja:是的,你可以在文本对象前面加上一个数字,例如:`v`+`2`+`a`+`[`。 (3认同)

Ing*_*kat 8

VIM-扩大区域插件允许扩展/可视选择区域的收缩到(可配置)组文本对象。即,您可以从选择变量、赋值、块、函数等开始。