View previous topic :: View next topic |
Author |
Message |
Napoleon Apprentice
Joined: 03 Nov 2010 Posts: 283
|
Posted: Thu Nov 17, 2011 7:24 pm Post subject: [vim]touches directionnelles inutilisable en mode insertion |
|
|
Bonjour,
C’est un problème un peut idiot mais que j’ai du mal à résoudre…
Quand j’ouvre vim (et non pas vi) depuis urxvt :
En mode insertion les touches directionnelles ont un comportement curieux.
Les touches produisent les caractères suivants sur la ligne supérieure à celle où se trouve l'insertion:
Haut: A
Bas: B
Droite: C
Gauche: D
Je précise que ce problème n’as lieux qu’avec vim sur urxvt mais sur xterm ou konsole, vim marche très bien et ne présente pas cette anomalie.
En outre d’après mes recherches il semblerait que ce problème soit fréquent avec vi, mais voila je n’utilise pas vi mais bien vim. Et même avec ou sans le mode nocompatible de vim, rien n’y fait, j’ai toujours des ABCD au lieux du déplacement du curseur.
Si quelqu’un à une idée de la manière de résoudre ce problème assez pénible,
Merci.
EDIT : version et uses complets de vim et urxvt 9.10. |
|
Back to top |
|
|
Napoleon Apprentice
Joined: 03 Nov 2010 Posts: 283
|
Posted: Thu Nov 17, 2011 8:42 pm Post subject: Peut-t-étre résolu |
|
|
Ah !
J’ai trouvé ici la solution à mon problème alors que je cherchait la solution à un autre problème concernant le couple rxvt o vim (en fait c’était la conservation du gras).
La solution consiste donc à modifier la valeur « rxvt-unicode » de la variable $TERM par « xterm », et ainsi, tout rentre dans l’ordre.
Néanmoins, est-ce véritablement une bonne chose que de changer la variable $TERM ?
Librement, |
|
Back to top |
|
|
truc Advocate
Joined: 25 Jul 2005 Posts: 3199
|
Posted: Fri Nov 18, 2011 7:22 am Post subject: Re: Peut-t-étre résolu |
|
|
Napoleon wrote: | Néanmoins, est-ce véritablement une bonne chose que de changer la variable $TERM ? |
Non, mais normalement tu ne devrais pas avoir besoin de faire ça si tu as le bon terminfo d'installé (ou termcap) pour urxvt. Regarde un peu de ce coté là.
Code: | find /usr/share/terminfo/ -iname '*rxvt*'
/usr/share/terminfo/r/rxvt-xpm
/usr/share/terminfo/r/rxvt-256color
/usr/share/terminfo/r/rxvt-cygwin
/usr/share/terminfo/r/rxvt-16color
/usr/share/terminfo/r/rxvt-color
/usr/share/terminfo/r/rxvt-cygwin-native
/usr/share/terminfo/r/rxvt-88color
/usr/share/terminfo/r/rxvt+pcfkeys
/usr/share/terminfo/r/rxvt-unicode-256color
/usr/share/terminfo/m/mrxvt-256color
/usr/share/terminfo/m/mrxvt
/usr/share/terminfo/s/screen.rxvt
/usr/share/terminfo/s/screen-bce.rxvt
/usr/share/terminfo/s/screen-bce.mrxvt
/usr/share/terminfo/s/screen.mrxvt
|
_________________ The End of the Internet! |
|
Back to top |
|
|
Napoleon Apprentice
Joined: 03 Nov 2010 Posts: 283
|
Posted: Fri Nov 18, 2011 10:53 am Post subject: Re: Peut-t-étre résolu |
|
|
truc wrote: | Napoleon wrote: | Néanmoins, est-ce véritablement une bonne chose que de changer la variable $TERM ? |
Non, mais normalement tu ne devrais pas avoir besoin de faire ça si tu as le bon terminfo d'installé (ou termcap) pour urxvt. Regarde un peu de ce coté là.
Code: | find /usr/share/terminfo/ -iname '*rxvt*'
/usr/share/terminfo/r/rxvt-xpm
/usr/share/terminfo/r/rxvt-256color
/usr/share/terminfo/r/rxvt-cygwin
/usr/share/terminfo/r/rxvt-16color
/usr/share/terminfo/r/rxvt-color
/usr/share/terminfo/r/rxvt-cygwin-native
/usr/share/terminfo/r/rxvt-88color
/usr/share/terminfo/r/rxvt+pcfkeys
/usr/share/terminfo/r/rxvt-unicode-256color
/usr/share/terminfo/m/mrxvt-256color
/usr/share/terminfo/m/mrxvt
/usr/share/terminfo/s/screen.rxvt
/usr/share/terminfo/s/screen-bce.rxvt
/usr/share/terminfo/s/screen-bce.mrxvt
/usr/share/terminfo/s/screen.mrxvt
|
|
Bonne remarque @truc, j’avais déja vérifié /usr/share/terminfo/r/ et j’y avait trouvé à la fois un fichier « rxvt-unicode » et « rxvt-unicode-256color ». J’ai bien supprimé rxvt-unicode et n’ai laissé que *-256color mais rien n’y fit, le problème persista. Même en faisant l’inverse (garder urxvt-unicode et enlever urxvt-unicode-256colors), le problème persistait toujours.
À ce stade, ça relève proprement de la magie noire :/ D’autant plus que vim marche bien avec les autres terminaux, et que les autres applications ncurses marchent sans soucis avec urxvt (en particulier le gras qui est conservé). Le problème vient clairement du couple vim/urxvt. |
|
Back to top |
|
|
barul Guru
Joined: 28 May 2010 Posts: 434
|
Posted: Fri Nov 18, 2011 3:15 pm Post subject: |
|
|
Personnellement j'ai mis TERM="rxvt-unicode", et aucun problème de comportement dans vim |
|
Back to top |
|
|
Napoleon Apprentice
Joined: 03 Nov 2010 Posts: 283
|
Posted: Fri Nov 18, 2011 4:14 pm Post subject: |
|
|
Cr0k wrote: | Personnellement j'ai mis TERM="rxvt-unicode", et aucun problème de comportement dans vim | Pour en être bien certain, je viens de refaire un test, dans le même terminal, :
Code: | TERM=xterm
vim #le gras et les touches directionnelles sont ok,
TERM=rxvt-unicode
vim #le gras et les touches directionnelles déconnent
TERM=xterm
vim #de nouveau le gras et touches directionnelles sont ok… |
Je n’ai rien trouvé d’autre pour l’instant qui influence le fonctionnement de vim que cette variable là. |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772
|
Posted: Sat Nov 19, 2011 12:32 pm Post subject: |
|
|
Les touches directionnelles dans Vi(m) c'est une hérésie ! Les classiques HJKL c'est la méthode classique, ça marche partout et c'est plus rapide à l'usage en plus d'être combinables à d'autres commandes, ça vient tout seul. |
|
Back to top |
|
|
Napoleon Apprentice
Joined: 03 Nov 2010 Posts: 283
|
Posted: Sat Nov 19, 2011 2:05 pm Post subject: |
|
|
geekounet wrote: | Les touches directionnelles dans Vi(m) c'est une hérésie ! Les classiques HJKL c'est la méthode classique, ça marche partout et c'est plus rapide à l'usage en plus d'être combinables à d'autres commandes, ça vient tout seul. | J’en conviens geekounet même si je te sais puriste . Sauf que voila, si je ne les utilise pas tout le temps, les deux fois dans la journée où j’aurais à les utilisées en mode insertion (pour aller au caractère précédant sans faire de ESC, h, i) ça doit tout de même marcher d’autant plus que ça marche bien ailleurs. Et puis bon, c’est un dysfonctionnement qui n’a pas lieux d’être et qui cache peut-être autre chose… |
|
Back to top |
|
|
|