[Vim] désactiver la roulette

La question :

[diapublication, suivi vers fr.comp.applications.editeurs-de-texte]

Bonjour,

Utilisant vim dans cygwin (shell bash, dans l'émulateur de terminal
mintty), j'ai souvent besoin de faire du copier/coller, et je colle
avec le bouton du milieu de la souris qui se trouve être une roulette.

Le problème est qu'il m'est difficile d'éviter de faire tourner la
roulette en même temps que j'appuie dessus, avec comme résultat
en mode insertion que cela monte ou descend de trois lignes avant
d'insérer, et en mode commande que cela m'affiche la séquence de
caractères « <Up><Up><Up> » ou « <Down><Down><Down> » dans une
commande commençant par « : ».

Ma question est très simple : comment éviter ça ?

Note : si cela doit m'empêcher de me déplacer avec la souris en mode
commande (en dehors d'une commande « : »), ce n'est pas grave, je ne
m'en sers pratiquement jamais. En revanche, cela ne doit bien sûr pas
m'empêcher de faire du copier/coller à la souris !


Cordialement,
--
Olivier Miakinen

Poser votre question sur le forum Logiciels

Les 10 réponses :

Petite précision...

Le 24/03/2014 17:33, Olivier Miakinen a écrit :



Note : si cela doit m'empêcher de me déplacer avec la souris en mode
commande (en dehors d'une commande « : »), ce n'est pas grave, je ne
m'en sers pratiquement jamais. En revanche, cela ne doit bien sûr pas
m'empêcher de faire du copier/coller à la souris !


En revanche, si c'était possible j'aimerais autant pouvoir continuer
à utiliser la roulette en dehors de vim, pour activer l'ascenseur
vertical de l'émulateur de terminal (mintty).

Cordialement,
--
Olivier Miakinen

Le 24-03-2014, Olivier Miakinen <om+> a écrit :


Petite précision...

Le 24/03/2014 17:33, Olivier Miakinen a écrit :



Note : si cela doit m'empêcher de me déplacer avec la souris en mode
commande (en dehors d'une commande « : »), ce n'est pas grave, je ne
m'en sers pratiquement jamais. En revanche, cela ne doit bien sûr pas
m'empêcher de faire du copier/coller à la souris !


En revanche, si c'était possible j'aimerais autant pouvoir continuer
à utiliser la roulette en dehors de vim, pour activer l'ascenseur
vertical de l'émulateur de terminal (mintty).


Je ne sais pas comment ça marche avec Cygwin, mais au boulot, il
m'arrive d'avoir la souris qui s'emmêle le focus avec putty. En faisant
« :set mouse= » ça désactive la souris dans vim et ça doit être le
terminal qui va prendre le dessus. Pour remettre la souris dans vim, tu
fais « :set mouse=a ». Ou alors tu choisis une autre option que a en
regardant l'aide si c'est mieux.

Sinon, quand tu fais un copier tu peux dire à vim où mettre le résultat
de ta copie. Tu sélectionnes ce que tu veux avec le curseur en mode
visuel, puis tu fais « "+y » ou « "*y » et ça te copie ta sélection dans
le presse papier de ta souris ou de ton système. De même, pour copier
quelque chose qui vient de l'extérieur, dans vim tu peux faire « "+p »
ou « "*p ». Tu peux aussi essayer de jouer avec [CTRL]+[INSER] et
[SHIFT]+[INSER] pour faire des copier coller entre vim et d'autres
applications. Pour moi, le [SHIFT]+[INSER] est le moyen le plus pratique
de copier dans la barre de ligne de commande une sélection à la souris
externe à vim.

--
--


----------------72 caractères-:-si-ça-dépasse-je-ne-lis-pas-----------<


Stéphane

Bonjour,

Tout d'abord une correction par rapport à ce que j'écrivais :
les changements de ligne en mode insertion, ce n'est pas dans le
vim de cygwin que je les obtiens, mais dans un vim sur Linux, une
fois connecté à partir de cygwin par ssh. En restant sur cygwin,
c'est encore pire : ça m'insère des lignes de A (ou de B) avec
saut de ligne.

Le 24/03/2014 23:47, Stéphane CARPENTIER m'a répondu :



Je ne sais pas comment ça marche avec Cygwin, mais au boulot, il
m'arrive d'avoir la souris qui s'emmêle le focus avec putty. En faisant
« :set mouse= » ça désactive la souris dans vim et ça doit être le
terminal qui va prendre le dessus. Pour remettre la souris dans vim, tu
fais « :set mouse=a ». Ou alors tu choisis une autre option que a en
regardant l'aide si c'est mieux.


J'ai essayé aussi bien dans cygwin seul que sur le Linux via ssh,
et le résultat est le même pour toute option non vide de set mouse :
« E538: No mouse support ».


Sinon, quand tu fais un copier tu peux dire à vim où mettre le résultat
de ta copie. Tu sélectionnes ce que tu veux avec le curseur en mode
visuel, puis tu fais « "+y » ou « "*y » et ça te copie ta sélection dans
le presse papier de ta souris ou de ton système. De même, pour copier
quelque chose qui vient de l'extérieur, dans vim tu peux faire « "+p »
ou « "*p ».


Tiens ? Je ne connaissais pas ces buffers + et *. Quoi qu'il en soit,
je n'arrive pas à faire fonctionner cette syntaxe : "+y et "*y semblent
copier la ligne courante (et non la sélection) dans le buffer par
défaut, et "+p et "*p font la même chose qu'un simple p.


Tu peux aussi essayer de jouer avec [CTRL]+[INSER] et
[SHIFT]+[INSER] pour faire des copier coller entre vim et d'autres
applications. Pour moi, le [SHIFT]+[INSER] est le moyen le plus pratique
de copier dans la barre de ligne de commande une sélection à la souris
externe à vim.


Bingo ! Après avoir sélectionné avec la souris, un [SHIFT]+[INSER]
me restitue la sélection sans que j'aie besoin de toucher à la
roulette. Merci pour cela, c'est la méthode que je vais adopter.

Cordialement,
--
Olivier Miakinen

Le 25-03-2014, Olivier Miakinen <om+> a écrit :


Bonjour,

Tout d'abord une correction par rapport à ce que j'écrivais :
les changements de ligne en mode insertion, ce n'est pas dans le
vim de cygwin que je les obtiens, mais dans un vim sur Linux, une
fois connecté à partir de cygwin par ssh. En restant sur cygwin,
c'est encore pire : ça m'insère des lignes de A (ou de B) avec
saut de ligne.


Tu sembles avoir plusieurs couches les une derrière les autres pour
afficher vim, ils doivent tous s'emmêler les pinceaux entre eux.


Le 24/03/2014 23:47, Stéphane CARPENTIER m'a répondu :



Je ne sais pas comment ça marche avec Cygwin, mais au boulot, il
m'arrive d'avoir la souris qui s'emmêle le focus avec putty. En faisant
« :set mouse= » ça désactive la souris dans vim et ça doit être le
terminal qui va prendre le dessus. Pour remettre la souris dans vim, tu
fais « :set mouse=a ». Ou alors tu choisis une autre option que a en
regardant l'aide si c'est mieux.


J'ai essayé aussi bien dans cygwin seul que sur le Linux via ssh,
et le résultat est le même pour toute option non vide de set mouse :
« E538: No mouse support ».


Cette option n'est disponible que dans certains terminaux. Ça veut dire
que ta souris n'est pas supportée dans ton Vim.


Sinon, quand tu fais un copier tu peux dire à vim où mettre le résultat
de ta copie. Tu sélectionnes ce que tu veux avec le curseur en mode
visuel, puis tu fais « "+y » ou « "*y » et ça te copie ta sélection dans
le presse papier de ta souris ou de ton système. De même, pour copier
quelque chose qui vient de l'extérieur, dans vim tu peux faire « "+p »
ou « "*p ».


Tiens ? Je ne connaissais pas ces buffers + et *. Quoi qu'il en soit,
je n'arrive pas à faire fonctionner cette syntaxe : "+y et "*y semblent
copier la ligne courante (et non la sélection) dans le buffer par
défaut, et "+p et "*p font la même chose qu'un simple p.


C'est parce que ta souris n'est pas supportée. Tu dois avoir fait une
sélection à la souris qui n'est pas supportée par vim. Essaye de
sélectionner autrement.
Par exemple, vip pour sélectionner le paragraphe dans lequel est ta
souris, vi) pour sélectionner ce qui est entre deux parenthèses ou un
vis pour sélectionner une phrase avant de faire "+y ou "*y. Pour
sélectionner des lignes entières, tu fais [V] et pour sélectionner des
carrés, tu fais [CTRL]+[V].


Tu peux aussi essayer de jouer avec [CTRL]+[INSER] et
[SHIFT]+[INSER] pour faire des copier coller entre vim et d'autres
applications. Pour moi, le [SHIFT]+[INSER] est le moyen le plus pratique
de copier dans la barre de ligne de commande une sélection à la souris
externe à vim.


Bingo ! Après avoir sélectionné avec la souris, un [SHIFT]+[INSER]
me restitue la sélection sans que j'aie besoin de toucher à la
roulette. Merci pour cela, c'est la méthode que je vais adopter.


En fonction de ce que tu veux sélectionner, la sélection au clavier peut
être très rapide. Avec le mode visuel, tu vois ce que tu recopies.

--
--


----------------72 caractères-:-si-ça-dépasse-je-ne-lis-pas-----------<


Stéphane

On 24/03/2014 17:33, Olivier Miakinen a écrit :


[diapublication, suivi vers fr.comp.applications.editeurs-de-texte]

Bonjour,


Salut


caractères «<Up><Up><Up> » ou «<Down><Down><Down> » dans une
commande commençant par « : ».


J'arrive pas à reproduire les up et down sur Kde Konsole.
C'est peut-être propre à cygwin?


Ma question est très simple : comment éviter ça ?


On peut paramétrer la souris dans xorg.conf, section "InputDevice",
Il y a une option ButtonMapping et pas mal d'autres options.

Par contre, la config sera pour toutes tes applis s'affichant sur le
serveur. Il est quand même possible de mettre une 2eme souris spéciale
vim avec les boutons remapés.

le mieux est de tester.

https://wiki.archlinux.org/index.php/All_Mouse_Buttons_Working
https://wiki.archlinux.org/index.php/xorg#Input_devices
http://www.gentoo-wiki.info/HOWTO_Advanced_Mouse

ça contient surtout des exemples de config mais on doit pouvoir trouver
la liste des options dans les sources de xorg.


Sinon, avec une autre souris moins sensible de la molette?


Fred

Poser votre question sur le forum Logiciels

Questions similaires :

[vim] désactiver la roulette mais pas le clic-milieu

Le 19 juin 2017, à 15:48, Olivier Miakinen a écrit : Et si tu essayais mouse=a ?[/color] Les deux sont intéressants et indiquent une parfaite collaboration entre la souris et l'éditeur de texte. Aussi bien en mode commande qu'en mode insertion, - avec « :set mouse= » : la roulette fait...