Как использовать NERD Commenter для vim - как использовать клавишу <Leader>
Я нашел плагин комментариев NERD для vim, но я не понимаю документацию. Скажем, я хочу прокомментировать некоторый код в c/С++, например.
code line 1
code line 2
становится
/*
code line 1
code line 2
*/
Я видел другие темы на этом, но, честно говоря, я не знаю, что <leader>
находится в документации по комментариям NERD. Когда я пробую принятый ответ в этом другом потоке, я заканчиваю выполнение команды изменения на выбранных строках. Что такое <leader>
и, шаг за шагом, как мне идти о комментировании строк с помощью /* */
?
Ответы
Ответ 1
Попробуйте встроенную справку, это отлично. :help <Leader>
приводит вас к соответствующей документации. Это просто идентификатор неиспользуемого ключа (по умолчанию \, но многие меняют его на ,), который рекомендуется для запуска любых пользовательских сопоставлений.
NERD_commenter определяет отображение <Leader>cc
, поэтому вы нажимаете (один за другим): \ C C.
Ответ 2
Это проблема
На многих неанглийских клавиатурах обратная косая черта \
доступна только с помощью комбинации клавиш AltGr. Это делает настройку по умолчанию для символа <Leader>
довольно непрактичным для этих пользователей. Кроме того, комбинация клавиш <Leader>
подчиняется заданному по умолчанию 1000 мс тайм-ауту. Это можно наблюдать за исчезновением клавиши <Leader>
на правом краю командной строки.
Таким образом, пользователи, не являющиеся англичанами, должны быть быстрыми машинистами для \ c c. Невыполнение этого условия приводит к нежелательному изменению строки cc
.
Вот пример немецкой раскладки клавиатуры с клавишей с обратной косой чертой в верхней строке, третий справа:
![German keyboard layout]()
Решение
Не-английским пользователям клавиатуры рекомендуется изменить ключ <Leader>
с символа \
на более доступный ,. Новичкам Vim также следует рассмотреть несколько более длительный тайм-аут 1500 мс. Вот что нужно добавить к ~/.vimrc
let mapleader=","
set timeout timeoutlen=1500
Одна заключительная оговорка; эти изменения вступают в силу только после полного выхода из Vim. Ресурс с :source $MYVIMRC
не будет работать!
Теперь для комментариев с комментарием NERD можно использовать , c c.
Ответ 3
как мне идти о комментариях строк с помощью /* */?
Аs указан в документации:
[count]<leader>cm |NERDComMinimalComment|
Comments the given lines using only one set of multipart delimiters.
Итак, просто используйте
- \ c m (если ваш
<leader>
равен \) или
- , c m (если ваш
<leader>
равен ,)
Ответ 4
@IngoKarkatNote: вам не нужно удерживать клавишу, просто нажмите ее, как любой другой ключ и отпустите его.
Полностью неправильный совет по оригинальному вопросу!
С NerdCommenter вам нужно удерживать клавишу <leader>
. В противном случае, как обнаружено OP, вы просто в конечном итоге активируете режим "change".