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

Как использовать NERD Commenter для vim - как использовать клавишу <Leader>

Я нашел плагин комментариев NERD для vim, но я не понимаю документацию. Скажем, я хочу прокомментировать некоторый код в c/С++, например.

code line 1  
code line 2

становится

/*
code line 1  
code line 2  
*/ 

Я видел другие темы на этом, но, честно говоря, я не знаю, что <leader> находится в документации по комментариям NERD. Когда я пробую принятый ответ в этом другом потоке, я заканчиваю выполнение команды изменения на выбранных строках. Что такое <leader> и, шаг за шагом, как мне идти о комментировании строк с помощью /* */?

4b9b3361

Ответ 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".