Как добавить слово в начале нескольких строк в vim? - PullRequest
5 голосов
/ 13 января 2011

В Vim,

Как добавить слово в начале всех строк? И как мне добавить его в конце?

Например .. Если у меня есть

A
B
C
D

Я хочу сделать это

int A =
int B = 

и т.д ..

Ответы [ 5 ]

11 голосов
/ 13 января 2011

используйте режим визуального блока ( Ctrl - v ), чтобы выбрать нужный столбец, а затем нажмите I , введите нужные символы и затемнажмите Esc

Таким образом, в этом случае вы должны навести курсор на A, нажмите Ctrl - v , перейдите кD, нажмите I и введите int (он будет отображаться только в первой строке, пока вы его печатаете), а затем нажмите Esc , и в этот момент он будет применяться.которые вставляются во все визуально выделенные части.

Это работает для любого места в документе, начала или конца строки.

:he v_b_I для получения дополнительной информации о вставке визуального блока

7 голосов
/ 13 января 2011

Вы можете сделать это:

:%s/^/at the beginning/
:%s/$/at the end/
4 голосов
/ 13 января 2011

:%s/.\+/int & =

+ не будет совпадать с пустыми строками

2 голосов
/ 13 января 2011

Если вам нужно скопировать только первое слово, выполните:

:%s/^\w\+/int & =/g

Если вы хотите сохранить отступ, выполните:

:%s/^\(\s*\)\(\w\+\)/\1int \2 =/g
2 голосов
/ 13 января 2011

Глобальный заменитель должен сделать i:

:%s/.\+/int & =/

Вот как это работает: во второй части замещения (то есть в int & =) амперсанд заменяется тем, что обработано в первомчасть (.*).Поскольку .* соответствует всей строке, каждая строка заменяется на желаемую.

Если у вас есть пустые строки (в которых вы не хотите никаких замен), вы можете перейти с

:%s/^\S\+$/int & =/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...