Я имею ключ команды tmux как Ca. C-Left/C-Right для перехода между словами (или как там это называется) прекрасно работает только в urxvt, но в urxvt/tmux он выведет '5D' и '5C' для Left/Right соответственно. Как мне настроить tmux, чтобы пропустить слово (или с X на urxvt или в tty)?
4 ответа
5
Добавьте это к вашему .Xdefaults
URxvt.keysym.Control-Up: \033[1;5A
URxvt.keysym.Control-Down: \033[1;5B
URxvt.keysym.Control-Left: \033[1;5D
URxvt.keysym.Control-Right: \033[1;5C
URxvt теперь будет отправлять те же escape-последовательности, что и XTerm.
Это гарантирует, что переход по словам будет работать, даже если вы подключены к удаленной обработке с собственным .inputrc
использующим SSH.
Чтобы сделать urxvt более похожим на xterm, см. Http://www.netswarm.net/misc/urxvt-xtermcompat.txt.
2
Выдержка из Ctrl-влево и Ctrl-вправо в bash и Emacs:
Sometimes the small things make a big difference. I noticed that the control-left
and control-right keys weren’t working in bash or Emacs on my FreeBSD box
accessed over X11.app on OS X. Easily fixed.
.inputrc
"\e[1;5C": forward-word # Ctrl+right => forward word
"\e[1;5D": backward-word # Ctrl+left => backward word
.emacs
(global-set-key "\M-[1;5C" 'forward-word) ; Ctrl+right => forward word
(global-set-key "\M-[1;5D" 'backward-word) ; Ctrl+left => backward word
- Я думаю, вам нужно сделать это в каждой программе и изменить их привязки клавиш.
- Я не знаю, почему
tmux
портит нажатия клавиш.
2
Если вы используете zsh, добавьте это в ваш ~/.zshrc
bindkey "5C" forward-word
bindkey "5D" backward-word
Получил это от http://clock.co.uk/blog/zsh-ctrl-left-arrow-outputting-5d
0
Ответили здесь: https://superuser.com/a/395273/65499
C-b :set-window-option xterm-keys on