OVH Cloud OVH Cloud

Selection à la souris dans Vim

12 réponses
Avatar
Rémi Moyen
Hello,

J'imagine que c'est ici que je trouverais le plus de gens au courant
de Vi...

J'utilise beaucoup vi (vim, en fait) dans des xterm (konsole, pour
=EAtre exact). J'ai d=E9couvert r=E9cemment, =E0 mon grand plaisir, que je
pouvais aussi utiliser la souris avec :set mouse=3Da, en particulier la
molette pour d=E9filer ou le clic gauche pour positionner le curseur.
Pourquoi est-ce que cette fonction n'est pas plus connue... ?

Bon, il reste quand m=EAme deux d=E9tails qui me g=E8nent un peu et je n'ai
pas trouv=E9 de piste satisfaisante sur le web :

- d'abord, quand je selectionne du texte =E0 la souris, la zone n'est
visuellement s=E9lectionn=E9e (i.e. affichage invers=E9) que quand je
rel=E2che le bouton, c'est =E0 dire =E0 la fin de la s=E9lection. J'aimerai=
s
bien avoir un feedback visuel pendant que je s=E9lectionne. J'ai vu
passer dans une doc que si vi n'arrive pas =E0 communiquer avec le
display, =E7a peut donner =E7a, mais je ne sais pas comment diagnostiquer
si c'est le cas et comment r=E9parer. Peut-=EAtre est-ce aussi un probl=E8m=
e
du mapping de <LeftDrag>, mais je ne sais pas non plus quoi faire ou
v=E9rifier.

- deuxi=E8mement, la s=E9lection =E0 la souris d=E9place le curseur (logiqu=
e,
vu que c'est juste un raccourci pour le mode visual), mais j'aime pas
trop =E7a. Du coup, je peux faire shift + clic, ce qui fait que la
s=E9lection est interpr=E9t=E9e par le terminal et que le curseur ne bouge
pas, mais il faut que je pense =E0 faire shift en plus. Est-ce qu'il y a
un moyen de faire en sorte que le curseur ne bouge pas, ou que toute
s=E9lection soit faite non pas par vi mais pas le terminal, ou autre
chose qui ne m'oblige pas =E0 utiliser shift (ou ctrl) ?

Merci d'avance !
--
R=E9mi Moyen

2 réponses

1 2
Avatar
Rémi Moyen
On Jan 15, 5:44 pm, (Xavier) wrote:

> Hélas, je sais. Je poste via google groups (because que j'ai pas acc ès
> à un vrai serveur de news, firewall, proxy et tout ça) qui supprime
> les espaces en fin de ligne...

Va voir chez lacave, il y a des serveurs de news sur le port 80 (http)



Oui mais non. Vu l'usage que j'en ai (au bureau), google groups me
convient parfaitement (les seuls problèmes que j'ai sont un ou deux
détails de ce genre). Chez moi, j'utilise déjà lacave (et un vrai
newsreader), mais au bureau, j'ai déjà assez de mal à m'accomoder des
trucs imposés pour ne pas multiplier les logiciels inutilement...
--
Rémi Moyen
Avatar
Stephane CHAZELAS
2009-01-15, 08:00(-08), Rémi Moyen:
[...]
Avec xterm, tu peux binder les evenements de la molette pour
qu'ils envoient des characteres (comme ^N, ^P) par exemple.



Donc sans activer le mouse tracking, je suppose. Pourquoi pas.
Concrètement, je fais comment ?



xterm -xrm 'XTerm.VT100.translations: #override
<Btn5Down>,<Btn5Up>: string(0xe)n
<Btn4Down>,<Btn4Up>: string(0x10)'

Tu peux mettre tout ca dans un .Xdefault ou un fichier loadé par
xrdb.

Avec konsole je ne sais pas. Mais pourquoi utiliser konsole?



D'une part, parce que j'y suis habitué. D'autre part, il y a deux-
trois trucs dans l'usage que j'ai de konsole que je ne sais pas
reproduire avec xterm, en particulier avoir plein de sessions dans des
onglets différents mais dans la même fenêtre. Je pourrais utiliser
screen, mais la première condition serait que je puisse le configurer
pour naviguer entre les sessions avec shift+droite/gauche.



Pas de probleme pour ca:

bindkey 33[1;2D prev
bindkey 33[1;2C next

Il y a bien d'autres choses dans screen qui me le rendent
indispensable, et ca va bien au dela des onglets.

Je garde xterm principalement parce qu'il offre tout ce dont
j'ai besoin, qu'il est tres flexible au niveau de la
configuration et surtout parce que tous les konsole,
gnome-terminal et compagnie (et meme dans une moindre mesure
eterm et rxvt) sont effroyablement sluggish en comparaison.

--
Stéphane
1 2