Подтвердить что ты не робот

Какой ваш любимый способ прокомментировать несколько строк в Vim?

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

Каков ваш любимый способ сделать это?

В настоящее время я использую:

Способ 1:

  • перейти к первому char строки и использовать поблочный визуальный режим (ctrl - v)
  • спуститесь/вверх, пока не будут выбраны первые символы каждой строки, которые вы хотите прокомментировать.
  • используйте shift - i, а затем введите свой комментарий (# для Ruby)
  • используйте esc, чтобы вставить символ комментария в каждую строку

Способ 2:

  • выберите строки, которые необходимо прокомментировать, используя визуальный режим линии (shift - v)
  • type :, который дает вам приглашение :'<,'>, которое вы можете расширить до :'<,'>s/^/#/

Способ 3:

  • перейти к первой строке, которая будет прокомментирована
  • сделать закладку, например, набрав mm
  • перейдите к последней строке, которая будет прокомментирована.
  • тип :'m,.s/^/#/

Мне нравится метод 1 больше всего, но я все еще надеюсь, что есть лучший способ.

4b9b3361

Ответ 1

Я думаю, вы описали самые популярные способы комментариев кода, но если вы открыты для использования Vim Scripts, посмотрите на них:

Ответ 2

Я использую ключевую карту для части регулярного выражения, но сначала я делаю тот же визуальный выбор. Обычно используется:

vip

чтобы получить визуальный блок (визуальный выбор абзаца)

затем используя

\cc
\co

для добавления комментариев/удаления (cc, co выбран для мышц).

с отображениями, определенными в .vimrc как:

vmap <leader>cc :s/^/#/<cr>
vmap <leader>co :s/^#//<cr>

Ответ 3

Хотя это довольно старый, я просто хотел добавить свое решение, которое очень похоже на всех elses, но добавляет функцию неосведомления. В моем файле .vimrc у меня есть следующие карты:

:vmap `c :s/^/\/*/<cr>gv:s/$/*\//<cr>:noh<cr>i
:vmap `r :s/^\/\*//<cr>gv:s/\*\/$/<cr>:noh<cr>i

Примечание. Я использую /* строку кода */стиля комментариев для совместимости со старым кодом c. В vim я просто выделяю строки и нажимаю `c для комментариев и` r для удаления комментариев.

Ответ 4

Обычно я просто сохраняю шаг в макросе, а затем вызываю макрос в зависимости от того, какой тип я чувствую.

Ответ 5

Плагины - это путь. Они расширяемы, они уже поддерживают больше типов файлов, которые вы когда-либо использовали, они автоматически могут переключаться с комментарием состояния строки (другими словами: нет необходимости потреблять два ярлыка, где их достаточно).

Смотрите список указанный CMS.

Ответ 6

Я искал набор команд для однострочного компиляции ANSI C, и я опробовал большинство ответов в SO.

Ни один из них не соответствует моим потребностям, и поскольку в настоящий момент мне нужно использовать старую версию Vim 7.2, и я не могу легко загрузить подходящие плагины. Я придумал эти удобные сопоставления:

:nnoremap <leader>c :exe "normal mqI/* "<esc> :exe "normal A */"<esc> :exe "normal 'q"<cr>
:nnoremap <leader>r ^xxx$xxx^

<leader>c высвечивает строку и возвращается к началу этой строки.

<leader>r удаляет комментарии с начала и конца текущей строки.