2016-09-22 8 views
1

Я работаю над сопоставлениями в vim и сталкивался с проблемой. Я могу нанести на карту <Up>, <Down>, <Left> и <Right>, и я могу сопоставить <S-Left> и <S-Right>, но не могу сопоставить <S-Up> и <S-Down>. Другими словамидиагностика проблем с связыванием ключей в Vim

:nmap <S-Right> l 

работ, и так же

:nmap <Up> l 

но

:nmap <S-Up> l 

нет.

Возможно, SO будет знать ответ на эту проблему, и в этом случае я изменю название вопроса, чтобы быть более конкретным. Но в противном случае я бы хотел, чтобы я мог использовать команды, чтобы диагностировать, что там не удается.

(если я сломал ключ вверх с вышеуказанной команды, типа :unmap <Up>)

+0

Картирование 'k' будет работать для' shift-k' и наоборот. Другими словами, сдвиг отображения с помощью ключа будет работать так же, как если бы вы отображали только ключ. Таким образом, сдвиг - это то же самое, что и до. Попробуйте отобразить 'k'. И используйте 'shift-k', чтобы увидеть, что отображение работало для shift-k, даже если вы сопоставлены для' k'. – SibiCoder

+0

Вы можете попробовать alt или Ctrl с помощью других клавиш. – SibiCoder

ответ

2

Вероятно, проблема с вашим терминалом [Настройки].

Что вы можете сделать для устранения неполадок, пытается буквально вставить ключи, полученные Vim. В режиме вставки введите <C-V>, а затем клавишу (сдвинутый) курсора. Для меня (гном-терминал с TERM=gnome-256color), я получаю эти различные значения (так сдвинута клавише управления курсора всю работу для меня, яйте):

" Up, S-Up, Down, S-Down 
^[OA ^[[1;2A ^[OB ^[[1;2B 

" Left, S-Left, Right, S-Right 
^[OD ^[[1;2D ^[OC ^[[1;2C 

Если вы видите одни и то же значение для смещенных и несмещенных ключей, ваш терминал Безразлично Не различайте их, так что Вим тоже не может. Следующим шагом будет проверка настроек терминала/использование другого терминала.

+0

В равной степени вы можете не видеть их вообще, если ваш оконный менеджер или терминал сначала поймал их. –

+0

Да, спасибо. Проблема была в моих настройках терминала: у моего терминала были правила, чтобы сказать S-Left и Left, но не S-Up from Up, и эта разница была ясна в результатах C-V. Я знал о C-V, но не то, чтобы он мог отличить эту разницу. – enfascination

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

  • Нет связанных вопросов^_^