В Vim , как мне вставить символы в начале каждой строки в выделении?
Например, я хочу закомментировать блок кода, добавляя //
в начале каждой строки, предполагая, что система комментариев моего языка не допускает подобное комментирование блоков /* */
. Как бы я это сделал?
Shift + v
неCTRL + v
. @ vkaul11 Вероятно, то же самое, что вы сделали LOLЭто заменяет начало каждой строки на «//»:
Это заменяет начало каждой выбранной строки (используйте визуальный режим для выбора) на «//»:
Обратите внимание, что
gv
(в обычном режиме) восстанавливает последний визуальный выбор, это иногда удобно.источник
/
и с спасаясь от//
в:s/^/\/\/
вместо письма:s!^!//
)Общий шаблон поиска и замены:
Заменяет первое вхождение 'search' на 'replace' для текущей строки
Заменяет все вхождения «search» на «replace» для текущей строки, «g» - сокращение от «global»
Эта команда будет заменять каждое вхождение 'search' на 'replace' только для текущей строки. % Используется для поиска по всему файлу. Для подтверждения каждой замены в интерактивном режиме добавьте «c» для подтверждения:
Интерактивное подтверждение замены «поиска» на «замены» для всего файла
Вместо символа% вы можете использовать диапазон номеров строк (обратите внимание, что символ «^» является специальным символом поиска для начала строки) :
Вставляет символ «#» в начале строк 14-20
Если вы хотите использовать другой символ комментария (например, //), измените разделитель команд:
Вставляет последовательность символов «//» в начале строк 14-20
Или вы всегда можете просто экранировать символы, например:
Вставляет последовательность символов «//» в начале строк 14-20
Если вы не видите номера строк в вашем редакторе, просто введите следующее
источник
#
в этой строке. Вы должны использовать^#
вместо этого.Еще один способ, который может быть проще для новичков:
Поместите курсор на первую строку, например,
gg
и введите следующее, чтобы войти в режим вставки и добавить свой текст:
I / / Space
Нажмите, Escчтобы вернуться в командный режим и использовать орграф:
j . j .
jэто команда движения, которая идет вниз на одну строку и .повторяет последнюю сделанную вами команду редактирования.
источник
|
вместо заглавнойI
. Я думал, что это было|
сначала.И еще один способ:
источник
Это добавляет
#
в начале каждой строки:И люди перестанут жаловаться на отсутствие у вас должным образом комментирующих сценариев.
источник
Если вы хотите получить супер фантазию, поместите это в ваш .vimrc:
Затем, когда в визуальном режиме, вы можете нажать
\c
на с omment блока и\u
к ц ncomment его. Конечно, вы можете изменить эти сочетания клавиш на что угодно.источник
vmap
!Еще один способ:
/^/
это просто шаблон, чтобы соответствовать каждой строке.norm
позволяет вам запускать команды нормального режима, которые следуют.I//
говорит, что нужно войти в режим вставки, переместив курсор в начало строки, а затем вставить следующий текст (две косые черты).:g
часто удобно делать что-то сложное в нескольких строках, когда вам может понадобиться переключаться между несколькими режимами, удалять или добавлять строки, перемещать курсор вокруг, запускать несколько макросов и т. д. И вы можете сказать, что он работает только со строками, которые соответствовать шаблону.источник
Для комментирования блоков кода мне нравится плагин NERD Commenter .
Выберите текст:
Комментарий:
Раскоментируйте:
Или просто переключите состояние комментария строки или блока:
источник
Я могу порекомендовать плагин EnhCommentify .
например. поместите это в ваш vimrc:
затем вы можете комментировать / раскомментировать (выбранные) строки с помощью ', c'
источник
Пометить область для комментирования как визуальный блок (
<C-V
)и делать
c#<ESC>p
c
передать его "#"Если вы делаете это часто, определите короткий путь (пример
\q
) в вашем .vimrcисточник
В случае, если чей-то многострочный выбор фактически является абзацем, нет необходимости вручную выбирать строки. Vim может сделать это для вас:
vip
: выделите и отметьте весь абзацshift-i
: вставить текст в начале строкиescape
: выйти из режима вставки / войти в нормальный режим [начало строки все еще выбрано]escape
: отменить выбор начала строкиисточник
Чтобы вставить «ABC» в начале каждой строки:
1) Перейти в командный режим
2):% норма I азбука
источник