Исправление настроек ключа (Home/End/Insert/Delete) в.zshrc при запуске Zsh в эмуляторе терминала Terminator

Я использую Ubuntu 11.04. Я установил Terminator Terminal Emulator 0.95 и Zsh версии 4.3.15.
У меня есть (общеизвестные) проблемы с моими ключами внутри Zsh. По крайней мере, это:

  • Home / End, ничего не происходит
  • Вставить / Удалить /PageUp/PageDown: набрано "~"

Я уже пробовал некоторые конфигурации для.zshrc, которые должны решить эту проблему, но пока ни один подход не сработал. Может быть, это связано с комбинацией Терминатора и Zsh. Я взял 2 конфига на этой странице: https://bbs.archlinux.org/viewtopic.php?pid=428669.

Есть ли у кого-то похожая конфигурация (особенно Terminator и Zsh) и выяснил, что нужно вставить в.zshrc для исправления настроек ключа?

2 ответа

Решение

Чтобы узнать код ключа, выполните catнажмите клавишу, введите и Ctrl+C.

Для меня, Home посылает ^[[H а также End^[[Fтак что я могу поставить свой .zshrc в моем доме реж

bindkey  "^[[H"   beginning-of-line
bindkey  "^[[F"   end-of-line

Эти коды могут меняться в зависимости от используемого вами эмулятора терминала.

autoload zkbd ; zkbd создаст файл с массивом кодов клавиш для использования, как bindkey "${key[Home]}" beginning-of-line, и вы можете получить другой файл в зависимости от терминала.

Спасибо @lolesque, но решение не работает со мной. После использования zkbd чтобы проверить связывание ключей, я выбрал следующее решение. Кстати, мой $TERM является xterm,

bindkey  "^[[1~"   beginning-of-line
bindkey  "^[[4~"   end-of-line

Надеюсь, поможет.

Для меня на WSL2 (Windows 10) это было

bindkey "^[OH" beginning-of-line
bindkey "^[OF" end-of-line

В cat трюк у меня не сработал, так как он напечатал ^[[H как в принятом ответе, но я смог узнать ^[OH последовательность, набрав Ctrl+v Home в новом оконном терминале работает zsh.

Это для меня вызвало установку переменной TERM в.zshrc.

Другие вопросы по тегам