time

Комментирование кода в VIM

vim_comments.png Для VIM существует отличный плагин для комментирования исходников, имя ему The NERD Commenter. Он предоставляет множество операции и стилей для комментирования текстов программ, скриптов, конфигов и т.д. Заявлена поддержка комментирования для 315 типов файлов, как неудивительно есть большинство и тех которые нужны мне: apache config, css, javascript, php, xhtml, python, sql, xml, etc.

Установка: после того как скачали файл с приведенной выше ссылки, распаковываем содержимое архива в папку с vim.

Все! теперь можно пользоваться. По желанию можно настроить опции самого плагина, которые описаны в разделе NERDComOptionsSummary документации, но по-умолчанию и так все хорошо подобрано. Также можно переназначить клавиши для вызова функционала плагина, о чем чуть ниже.

Собрал возможные комбинации плагина в таблицу:

Сочетание клавиш Функция плагина Описание
<leader>cc NERDCommenterComment комментирование строки или выделенного текста (пример: //)
<leader>cn NERDCommenterNest тоже самое что и <leader>cc но повторно комментирует уже закомментированный текст, если он находится внутри другого комментария
<leader>c<пробел> NERDCommenterToggle переключение комментирования
<leader>cm NERDCommenterMinimal много строчный комментарий(пример: /* */)
<leader>ci NERDCommenterInvert инверсное комментирование
<leader>cs NERDCommenterSexy комментирование “sexy” (как для DocBlock)
<leader>cy NERDCommenterYank комментирование и помещение закомментированных строк в локальный буфер (yank)
<leader>c$ комментирования от курсора до конца строки
<leader>cA NERDCommenterAppend вставка комментария в конце строки и переход в режим редактирования
<leader>cu NERDCommenterUncomment раскоментировать выбраною строку/блок

<leader> - по умолчанию это клавиша с , (запятая).

Назначение своих клавишных сочетания (mapping), например, для инверсного комментирования в режиме выделения:

vmap NERDCommenterInvert

Для более детального знакомства с плагином читаем доку, что идет в комплекте

С конца 2010 года NERD Commenter прекратил обновляться, я сменил его на tComment.

blog comments powered by Disqus