2014-11-14 2 views
0

У меня есть визуальная карта:ключ карты для вызова функции в плагине

vmap 1 :call ExecuteSelection()<CR> 

ExecuteSelection функция определена в плагине vim-shell-executor.

Однако, когда я пытаюсь нажать 1 ключ в визуальном режиме, я получаю сообщение об ошибке:

E117: Unknown function: ExecuteSelection 

Вопрос: как я могу это исправить?

ответ

3

Если вы посмотрите на источник плагина, это имя команды ; основная функция называется по-разному:

command! -range ExecuteSelection call ExecuteWithShellProgram("selection") 

Итак, я бы рекомендовал использовать (публичную) команду в вашем сопоставлении.

vnoremap 1 :ExecuteSelection<CR> 

(You should use :noremap, это делает отображение невосприимчивым к переназначения и рекурсия.)

PS: Вы уверены, что вы хотите отобразить в 1? Это мешает вам поставлять счет; например вы не сможете сдвинуть выделение на 10 (10>)!

+2

И 'xnoremap' вместо' vnoremap'. – romainl

+1

@romainl: Правильно, потому что '1' является печатным символом, который должен заменить выбор режима выбора, а не работать с ним. –

+0

Спасибо за подсказку, что не сопоставление с '1', я буду искать альтернативу :) –

Смежные вопросы