Исправление настроек ключа (Home / End / Insert / Delete) в .zshrc при запуске Zsh в эмуляторе терминала Terminator - PullRequest
24 голосов
/ 26 декабря 2011

Я использую 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 ]

56 голосов
/ 27 декабря 2011

Чтобы узнать код клавиши, наберите 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, и вы можете получить другой файл в зависимости от терминала.

17 голосов
/ 10 октября 2015

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

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

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

...