Il problema è duplice. Innanzitutto, tmuxper impostazione predefinita converte i tasti freccia di controllo da un tipo di sequenza di escape a un altro. Quindi tasti speciali come quelli controlleftvengono inviati vimsenza il modificatore, ad es left. Se usi cat -vper vedere le diverse sequenze di escape, potresti vedere qualcosa del genere
^[OD
rispetto a questo (fuori da tmux):
^[[1;5D
La linea
set-window-option -g xterm-keys on
risolve quell'aspetto. L'altra parte è che tmuxper impostazione predefinita utilizza la descrizione del terminale per screen. La descrizione del terminale non descrive i tasti freccia di controllo. Queste voci dal database dei terminali sarebbero le più appropriate per VTE (gnome-terminal):
Ce ne sono altri, come ad esempio
che sarebbe selezionato automaticamente durante l'esecuzione in screense corrispondente TERMall'esterno erano vte, vte-256colorecc tmuxnon la fanno automatica di selezione; devi modificare il suo file di configurazione.
A proposito, non esiste una voce "screen.xterm" perché interferirebbe con alcuni usi di screen. Non c'è conflitto con TERM=xterm-new.
Se hai un database terminale predefinito (minimo) come ncurses-basein Debian, potresti non averne uno. Più comune sarebbe xterm-256color, che è abbastanza vicino da usare con vim e tmux.
Ad esempio, se aggiungo questo al mio .tmux.conffile, si comporta come previsto in vim:
set -g default-terminal "xterm-256color"
Ulteriori letture:
Control+Left;Control+Rightnon lo è. Proverò e aggiornerò più tardi.