Скобки окружают его содержанием дополнительными скобками
У меня есть строки, которые я хочу преобразовать из
(variable=value)
в
((variable=value))
Как мне это сделать из командной строки vim?
3 ответа
Решение
Может быть, вы можете использовать следующую команду замены
:%s/(.*)/(&)/g
где
.* - all strings of characters of any length and
& - the whole matched pattern
Одно из возможных решений (если у вас есть только этот шаблон в строке):
:.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: это действие можно повторить, набрав .
Обычно это делается с помощью плагина round.vim: сначала выберите блок с одиночными скобками с помощью va(
, а затем окружить с другим набором Parens через S(
,