2010-04-13 2 views
3

Я пытаюсь настроить плагин NERDComment в vim, но у меня возникают проблемы с ключами. Я хотел бы установить базовые функции переключения (прокомментировать строку, если она раскоментирована, раскомментировать, если она прокомментирована), чтобы она была c. Проблема в том, что я переименовал лидера в ,, что является тем же ключом, что и NERD для всех его горячих клавиш. Кто-нибудь знает, как это сделать?Пользовательские ключи с плагином NERDComment и переназначенным лидером?

ответ

9

Просто позвоните в службу NERDComment. Например, мое отображение комментировать текущую строку:

inoremap ,c <C-o>:call NERDComment(0,"toggle")<C-m> 

Вот расстройство того, как работает эта ВИМ переназначить.

i inoremap означает, что переназначение применяется только в режиме вставки.

noremap означает, что переназначение нельзя переопределить позже в файле .vimrc случайно или плагином.

,c - это комбинация клавиш, которая запускает карту ключей.

<C-o> временно выведет вас из режима вставки для одной команды, поэтому следующий раздел переназначения может вызвать функцию NERDComment.

:call NERDComment(0,"toggle") - вызываемая функция NERDComment.

Тогда <C-m> - это еще один способ сказать возврат каретки, который выполняет команду.

+1

Не могли бы вы дать дополнительные пояснения по этой строке кода? –

+0

Мне также нужна эта строка в моем '.vimrc', чтобы это работало:' let g: NERDCreateDefaultMappings = 0' – lsimmons

3

Если вы хотите комментарий ярлык работать в обычном режиме и визуальном режиме, но не в режиме вставки, где он мог бы сделать что-то странное, когда вы пытаетесь ввести запятую, вы можете использовать следующий переназначенные:

nnoremap ,c :call NERDComment(0,"toggle")<CR> 
vnoremap ,c :call NERDComment(0,"toggle")<CR>