Aktualnie używam tmux ze zmienną xterm-256color $ TERM. Kiedy w bash pod tmux, naciśnięcie home/end wstawi znaki tyldy (~). Poza tmux klawisze home/end działają dobrze.Strona główna/Klawisze końcowe nie działają w tmux
Korzystanie kota i tput, mogłem zobaczyć, że istnieje rozbieżność między oczekiwanymi i generowanych sekwencji:
$ cat -v # pressing home, then end
^[[1~^[[4~
$ tput khome | cat -v; echo
^[OH
$ tput kend | cat -v; echo
^[OF
Aby rozwiązać ten problem, postanowiłem dodać następujące do mojego .bashrc:
if [[ -n "$TMUX" ]]; then
bind '"\e[1~":"\eOH"'
bind '"\e[4~":"\eOF"'
fi
Naprawiono problem z bash, jednak w innych programach readline, takich jak REPL, takich jak ipython, nadal wstawia tyldę dla domu/końca.
Dlaczego to jest problem? Dlaczego wygenerowana sekwencja jest inna, gdy jestem wewnątrz tmux, a poza nim? Jak to naprawić, aby nie było problemu w żadnym programie?
to jest dobre pytanie dla tmux config, jednak chciałbym zaproponować Ci starają się przyzwyczaić do 'Ctrl-A/E/F/B/'' alt-B/F ... '(bind emacs), aby przesunąć kursor – Kent
btw, jeśli to pomaga? http://stackoverflow.com/questions/8604150/with-term-screen-256color-under-tmux-home-and-end-keys-dont-work-why – Kent
Aktualnie używam ctrl-a dla prefiksu klucza polecenia w tmux (podobny do ekranu). Spojrzałem na ten post wcześniej, ale wydaje się, że dotyczy to tylko Vima i nie stanowi to dla mnie problemu w Vimie. –