Je ne suis pas sûr que ça va fonctionner, mais vous pouvez essayer d'inclure ce code dans votre vimrc
:
if &term =~ '^screen'
sil! exe "set <xUp>=\e[1;*A"
sil! exe "set <xDown>=\e[1;*B"
sil! exe "set <xRight>=\e[1;*C"
sil! exe "set <xLeft>=\e[1;*D"
endif
Je l'ai copié à partir here.
Si vous utilisez tmux, vous pouvez également activer l'option xterm-keys
dans votre fichier de configuration tmux (~/.tmux.conf
):
set-option -gw xterm-keys on
Il est décrit dans man tmux
:
xterm-keys [on | off]
If this option is set, tmux will generate xterm(1) -style function key sequences; these have a
number included to indicate modifiers such as Shift, Alt or Ctrl. The default is off.
Je ne savoir ce que l'équivalent pour screen
est.
Il est également possible que quelque chose (gestionnaire de fenêtres, multiplexeur terminal, émulateur de terminal) est interceptaient <C-left>
avant Vim.
Pour exclure cette possibilité, vous pouvez essayer d'insérer <C-left>
littéralement dans un tampon Vim en tapant C-v C-left
, en mode insertion, et voir ce qu'il affiche. Sur ma machine, il affiche ^[[1;5D
, donc je sais que rien n'intercepte <C-left>
.
Si rien n'est affiché, alors vous devrez trouver quel logiciel intercepte <C-left>
et supprimer la liaison de clé dans sa configuration.
Sur quelle plateforme êtes-vous? Certaines clés sont consommées par le système d'exploitation avant d'atteindre les applications. Par exemple, dans macOS, les touches Ctrl- {gauche, droite} sont utilisées par le système d'exploitation pour le contrôle de mission. –
@DanLowe Merci pour le commentaire. C'est Centos 7. – dlz