up-line-or-history
хорошо работает в гном-терминале, но не работает после того, как я переключился на urxvt. Я протестировал это, явно вызвав эту команду в zsh (M-x
в режиме emacs). Может ли кто-нибудь дать мне понять, почему? Я на Debian Jessie.zsh: up-line-or-history не работает в urxvt
2
A
ответ
0
urxvt
и gnome-terminal
посылать различные символы при вводе альтадо. Вы можете увидеть это, используя cat -v
. В urxvt
вы увидите ^[[A
, а gnome-terminal
копии xterm
, отправка ^[[
; 3A`.
Если вы не настроили привязки клавиш zsh
, чтобы принять это во внимание, они не будут работать должным образом. Необходимы некоторые обходные пути, потому что (хотя zsh
может использовать значения terminfo), zsh
не предоставляет способ использования информации о терминале для измененных специальных клавиш.
Дальнейшее чтение:
- How can I see what my keyboard sends? (Ncurses FAQ)
- How can I use shift- or control-modifiers? (Ncurses FAQ)
Для меня это работает ли я 'bindkey "^ [[A" вверх линия- or-begin-search' или 'bindkey" \ e [A "up-line-or-begin-search', но каждый раз после ввода urxvt я должен' source ~/.zshrc' вручную. Ты знаешь почему? –
no - zsh предполагается источником '.zshrc' в интерактивной оболочке ... –
Обратите внимание, что я запускал команду напрямую, а не через привязку клавиш. – xuhdev