Ответ 1
Я думаю, вы описали самые популярные способы комментариев кода, но если вы открыты для использования Vim Scripts, посмотрите на них:
Часто случается, что я должен прокомментировать несколько строк сразу в Vim. Методы, которые я знаю, не так быстро, как говорят TextMate, чтобы комментировать строки.
Каков ваш любимый способ сделать это?
В настоящее время я использую:
#
для Ruby):
, который дает вам приглашение :'<,'>
, которое вы можете расширить до :'<,'>s/^/#/
mm
:'m,.s/^/#/
Мне нравится метод 1 больше всего, но я все еще надеюсь, что есть лучший способ.
Я думаю, вы описали самые популярные способы комментариев кода, но если вы открыты для использования Vim Scripts, посмотрите на них:
Я использую ключевую карту для части регулярного выражения, но сначала я делаю тот же визуальный выбор. Обычно используется:
vip
чтобы получить визуальный блок (визуальный выбор абзаца)
затем используя
\cc
\co
для добавления комментариев/удаления (cc, co выбран для мышц).
с отображениями, определенными в .vimrc как:
vmap <leader>cc :s/^/#/<cr>
vmap <leader>co :s/^#//<cr>
Хотя это довольно старый, я просто хотел добавить свое решение, которое очень похоже на всех 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 для удаления комментариев.
Обычно я просто сохраняю шаг в макросе, а затем вызываю макрос в зависимости от того, какой тип я чувствую.
Плагины - это путь. Они расширяемы, они уже поддерживают больше типов файлов, которые вы когда-либо использовали, они автоматически могут переключаться с комментарием состояния строки (другими словами: нет необходимости потреблять два ярлыка, где их достаточно).
Смотрите список указанный CMS.
Я искал набор команд для однострочного компиляции 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
удаляет комментарии с начала и конца текущей строки.