Déterminez exactement quelle séquence d'échappement votre terminal envoie pour Ctrl +flèche en tapant Ctrl +V , Ctrl +flèche en mode insertion :cela insérera le premier ESC
caractère (affiché sous la forme ^[
dans vim) littéralement, suivi du reste de la séquence d'échappement. Ensuite, parlez à vim de ces séquences d'échappement avec quelque chose comme
map <ESC>[5D <C-Left>
map <ESC>[5C <C-Right>
map! <ESC>[5D <C-Left>
map! <ESC>[5C <C-Right>
Il me semble me rappeler que Putty a un paramètre par défaut pour le mode Touches de curseur d'application qui n'est pas pratique (j'oublie pourquoi), vous voudrez peut-être d'abord basculer ce paramètre.
Notez que bien que les séquences d'échappement varient d'un terminal à l'autre, les conflits (c'est-à-dire une séquence d'échappement qui correspond à différentes touches dans différents terminaux) sont rares, il n'est donc pas particulièrement nécessaire d'essayer d'appliquer les mappages uniquement sur un type de terminal particulier.
Votre meilleur pari est probablement de regarder la configuration du mode Touches de curseur d'application de PuTTY.
Les séquences par défaut envoient ESC comme préfixe et [
suivi de A
ppend ou C
hange ou d'autres choses vous jetant en mode insertion.
ajouté, à la suite de Gilles
Une version un peu plus explicite de l'échappement ^V peut être vue avec od(1). Me voici en train de taper ^Haut, ^Bas, ^Droite, ^Gauche sur mon terminal :
$ od -a
0000000 esc [ 1 ; 5 A esc [ 1 ; 5 B esc [ 1 ;
0000020 5 C esc [ 1 ; 5 D
Donc mon terminal envoie ^[[1;5A
quand j'appuie sur Ctrl + ↑
J'ai trouvé une meilleure solution ici :http://vim.wikia.com/wiki/Fix_arrow_keys_that_display_A_B_C_D_on_remote_shell
Mettez simplement cette chaîne dans votre .vimrc
fichier :
:set term=cons25
Mettre à jour
Copiez ce fichier dans votre /home
, en le renommant .vimrc
:
/usr/share/vim/vim_VERSION_/vimrc_example.vim