Автономный ключ ESC tty Emacs tty / viper

Существует несколько пакетов vim clone для Emacs (Evil, Viper...). Эти пакеты имеют специальную встроенную функциональность, в которой они переназначают клавишу Escape для пользователей tty. Я не уверен, как это делается (с тайм-аутом?).

Мне бы тоже хотелось эту функциональность, однако я не хочу использовать весь пакет Evil / Viper, мне нужна только функциональность клавиши Escape. Это связано с тем, что я использую Режим Бога, в основном обычный Vim/режим Insert с сочетаниями клавиш emacs. Однако у него нет решения для клавиши Escape TTY, как у Evil / Viper. Мой Elisp не достаточно хорош, чтобы реализовать это самостоятельно.

Поэтому, если есть отдельный пакет для решения проблемы с ключом escape, я бы хотел услышать об этом.

Спасибо!


person Attic    schedule 19.05.2014    source источник
comment
Что именно вы хотите, чтобы клавиша Esc делала? Похоже, что в режиме Бога он переключается между режимами. Проблема в том, что он работает в графическом Emacs, но не в терминальной версии?   -  person echristopherson    schedule 21.05.2014
comment
Да, в терминальной версии Esc — это то же самое, что и Meta, поэтому если вы переназначите esc, Meta перестанет работать. Я не знаю, как Evil/Viper решает эту проблему для терминала.   -  person Attic    schedule 21.05.2014


Ответы (1)


Это не /действительно/ отвечает на мой вопрос, но я нашел что-то хорошее, что решает мою проблему.

Xcape – это инструмент, который можно использовать для изменения поведения ключа. Например, если вы запустите эту команду:

xcape -e 'Control_L=Control_L|G'

Если нажать левый контрол и сразу же отпустить, он будет действовать как Control-G. Если вы удерживаете Control, он просто будет действовать как обычный Control.

Теперь, если я переназначу C-g на активный режим Бога, я также получу ожидаемое поведение в терминале. И вы можете изменить ключи на то, что вы хотите.

Как я уже сказал, это на самом деле не отвечает на мой вопрос, но решает проблему. Поэтому я просто оставлю этот ответ для других людей.

person Attic    schedule 30.05.2014
comment
И более точная версия от лукавого gist.github.com/Pitometsu/f2f68d5e81862ceffb0d76d277376cf1 - person Netsu; 12.07.2016