用额外的括号将括号及其内容括起来

Surround parentheses with its content by extra parentheses

我有要从

转换的行
(variable=value)

((variable=value))

我应该如何从 vim 命令行执行此操作?

也许你可以使用以下替代命令

:%s/(.*)/(&)/g

哪里

.* - all strings of characters of any length and
&  - the whole matched pattern

这通常用 surround.vim plugin 完成:首先 select 单括号块用 va(,然后通过 S( 用另一组括号括起来。

一种可能的解决方案(如果您的行中只有这种模式):

 :.s/.*/(&)

 .s ................... current line substitute
 .* ................... everything
 ( .................... open paren
 & .................... all pattern searched
 ) .................... close paren

 :norm! I(^[A)

OBS:符号 ^[ 应使用 Ctrl-vCtrl-[.

输入

别忘了您可以在当前行中输入 @: 并在后续行中输入 @@.

来重复最后一个命令 :

在没有插件的正常模式下你可以这样做(如果模式不重复很多):

ca( ................ start changing the pattern (text goes to default register ")
( .................. start typing open parenthesis
Ctrl-r" ............ insert default register 
) .................. close parenthesis

OBS:此操作可通过键入 .

重复