Я пытаюсь сопоставить Altключ следующим образом:
:map <A-j> j
:map <A-k> k
но это не работает (звонок включен Alt + j/ Alt + k).
Что мне не хватает?
Я использую терминал на OSX, то же самое происходит на удаленном Linux.
На Ctrl + v, Alt + jя получил: ?~H~F
( ∆
когда encoding=utf-8
).
На Ctrl + v, Alt + kя получил: ?~Z
( ˚
когда encoding=utf-8
).
Запуск vim без плагинов ( -u NONE
) не имеет никакого значения.
key-bindings
terminal
kenorb
источник
источник
Alt
(нажать, не удерживать), а затемj
? Поxterm
крайней мере, мне нужно установить,metaSendsEscape
чтобыtrue
заставить эти последовательности работать ... Я не знаю, есть ли у вас такая же проблема, и я не использую OSX, поэтому я не могу тестировать ...Alt
, отпускание, затемj
или любая другая клавиша работает как обычно. Я проверил и нашел параметр «Использовать опцию как мета-ключ» , включил его, и теперь он работает. Так что настройкаmetaSendsEscape
сделала свое дело, спасибо.Ответы:
Вот как я делаю это на Linux или Cygwin:
Сначала проверьте, какие символы отправляются вашим терминалом, когда вы нажимаете ALT+ J:
Для этого я иду в консоль и запускаю
sed -n l
(вы также можете использоватьcat
для этого). Затем я нажимаю ALT+ Jи вижу, что символы на экране^[j
.Я заменяю
^[
на\e
(потому что это то, что посылает мой терминал, когда я нажимаю esc), и последняя строка для меня -\ej
.Тогда я пишу это в мой
.vimrc
:И отображение работает.
источник
:set <M-j>=\ej
части. Что я должен искать?:help :set-termcap
С помощью Carpetsmoker кажется, что Терминал не был настроен на «Использовать Alt / option как мета-ключ» (это особенно характерно для графических терминалов GUI).
Для терминала на OSX это в Предпочтения -> Настройки -> вкладка Клавиатура -> «Использовать опцию как мета-ключ» . Проверьте: как я могу изменить Терминал, чтобы использовать опцию в качестве мета-ключа? ( Маверикс ).
Для XTerm проверьте: Конфигурирование XTerm по умолчанию для Meta Sends Escape, которое говорит:
Тогда стандартные сопоставления с Altключом вроде:
работает отлично.
Для получения справки см
:h :map-alt-keys
.источник
:h :map-alt-keys
как на другой источник информацииПохож на ответ Коссака, но немного проще, отображая буквальные нажатия клавиш.
Либо в обычном режиме после нажатия :, либо вставьте в свой
.vimrc
, сопоставьте вход непосредственно, запустив сопоставление:затем нажмите Ctrl+, Vзатем нажмите клавишу для записи, например, Alt+ ←. Это будет выглядеть примерно так:
но каждый из них
^[
представляет собой один буквальный escape-символ, и подсветка синтаксиса должна показать это. Замените буквенные escape-символы на текст<Esc>
и добавьте команду, которую вы хотите использовать:Я знаю, что OP отображал Alt+ буквы, но я использовал стрелки, чтобы показать, как это сделать для чего-то, что может не отображаться по умолчанию.
источник
Это работает для меня на терминале Ubuntu 16.04 xfce (и терминале ржавчины alacritty)
Установите для триггера фрагмента ultisnip значение
Meta-/
(точно так же, как для фрагмента emacs)Вот теперь я
^[/
набираю в vimВ режиме вставки
Ctrl-V Alt-/
(
Meta
этоAlt
клавиша на клавиатуре моего ПК)источник
Если
Control+V
за ним следуютALT-x
шоу^[x
(введите в терминале), вы можете исправить это с помощью небольшого скрипта с vim.wikia.com :Добавьте в .vimrc для всех сопоставлений клавиш alt.
источник