Как я могу прокомментировать одну строку или блок строк в Vim? - PullRequest
6 голосов
/ 06 декабря 2011

В файле CSS эта строка содержит более 5 правил.

border: 1px solid black;

Я хочу прокомментировать эту строку так:

/*border: 1px solid black;*/

Есть ли ярлык, чтобы сделать этот комментарий для всех 5 случаев?

Можно ли назначить ключ для комментирования одной строки или блока строк?

Я не хочу искать и заменять эту единственную строку, я хочу установить ключ так, чтобы при наведении курсора на строку и нажатии этой клавиши эта строка была прокомментирована или выбрана строка или выделен блок строки, если я нажму эту клавишу, эта строка или блок строки будут прокомментированы.

Ответы [ 3 ]

10 голосов
/ 06 декабря 2011

Я бы предложил использовать макрос для этого. Макросы автоматически сохраняются Vim и доступны во время сеансов.

Для записи макроса введите: q<letter><commands>q. Где <letter> - любая буква от a-z и указывает регистр, в котором будет сохранен макрос. После этого вы просто набираете команды, которые хотите записать, и, наконец, снова нажимаете q, чтобы остановить запись.

В вашем случае вы можете сделать следующее. Нажмите q, затем нажмите a, чтобы выбрать регистр a, затем войдите в режим вставки и введите /* и */ в начале и конце строки. Нажмите q еще раз, чтобы остановить запись.

Теперь просто переместите курсор на любую строку и нажмите @a, чтобы выполнить макрос в этой строке.

3 голосов
/ 06 декабря 2011

Почему бы не использовать для этого регулярное выражение?

:1,$s/border: 1px solid black;/\/*border: 1px solid black;\*\//

1,$s означает, что ваша замена должна быть сделана со строки 1 на строку $, которая является последней строкой. Имейте в виду, что вы должны избегать таких символов, как * или /.

В соответствии с этим вопросом о Stackoverflow вы можете поместить следующее в ваш .vimrc

vnoremap <C-r> "hy:%s/\(<C-r>h\)/\/\*\1\*\//gc<left><left><left>

теперь вы можете визуально пометить строку и нажать ctrl + r , что даст вам правильное регулярное выражение. Теперь вас спросят построчно, хотите ли вы это прокомментировать, и можете сделать это, нажав y .

2 голосов
/ 06 декабря 2011

Вы должны попробовать NERD Commenter плагин для VIM. ИМХО этот плагин как нельзя лучше подходит для этой задачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...