Activer la souris pour le défilement uniquement dans Vim dans iTerm (MacOSX)

30

Je voudrais utiliser la souris dans Vim uniquement pour le défilement (pas pour activer d'autres modes Vim ou interagir autrement avec Vim). L'utilisation :set mouse=asemble être une opération tout ou rien, cela peut-il être modifié? Alternativement, iTerm peut-il être fait pour passer uniquement par les événements de défilement et ne jamais cliquer / faire glisser les événements?

Explication longue: J'utilise beaucoup Vim dans iTerm et je n'utilise pas la souris. Cependant, le défilement à inertie avec un trackpad est vraiment sympa et un excellent moyen de parcourir de gros fichiers. Je peux :set mouse=aet utiliser le trackpad pour faire défiler et c'est super. Maintenant, quand je clique, vim passe en mode visuel et iTerm ne copiera pas le texte sélectionné. Je souhaite conserver la capacité d'iTerms de sélectionner et de copier du texte.

J'ai pensé à configurer Vim pour que la copie dans vim se copie dans Mac OS X (en utilisant pbcopy, je dois quand même le faire). Cela fera l'affaire lors de l'édition de fichiers locaux, mais la plupart du temps je suis sshquelque part et je modifie des fichiers distants.

Jonah Braun
la source

Réponses:

44

Vous pourriez utiliser

:set mouse=nicr

Cela ne fonctionne qu'avec le défilement de la souris comme je l'ai testé.

Armando Neto
la source
3
Pas tout à fait ce dont j'ai besoin car pendant qu'il défile dans vim, iTerm ne me laisse pas sélectionner le texte. J'ai fait en :set mouse=isorte que le défilement fonctionne en mode insertion et iTerm select en mode normal. Assez près, donc je marque la réponse. Merci pour l'idée!
Jonah Braun du
3
Cela ressemble à "régler la souris pour être plus belle" pour moi.
Kazark
6
@ JonahBraun, iTerm sélectionne la souris avec :set mouse=nicrsi vous maintenez l'option enfoncée pendant la sélection. Voir stackoverflow.com/questions/4608161/…
John Whitley
Où écrivez-vous :set mouse=nicr?
Naguib Ihab
18

Si vous set mouse=a, vous pouvez toujours utiliser Option -click pour faire iTerm do sélection. Pas idéal, mais c'est la meilleure option que j'ai trouvée.

Mike Morearty
la source
3
c'est la vraie réponse réalisable.
Zen
1

Je ne suis pas sûr d'iTerm mais cela est réalisable avec Terminal.app.

  • Défilement dans Terminal.app:

http://ayaz.wordpress.com/2010/10/19/using-mouse-inside-vim-on-terminal-app/ (installez SIMBL et MouseTerm)

  • Défilement uniquement:

    1. Allez au terminal;
    2. Préférence;
    3. Icône «Paramètres»;
    4. Onglet «Clavier»
    5. 'Bouton de la souris;
    6. Là, sous 'Envoyer les événements de souris pour: "décocher" clic gauche "," clic milieu "," clic droit ".

Terminé.

LiL
la source
0

Vous pouvez également définir les options vim env à partir de la ligne de commande

Par exemple:

vim -c 'set mouse=a'

Donc, un autre alias pour vim qui le fait automatiquement pourrait être:

alias vimmy="vim -c 'set mouse=a'"
Dan Burkhardt
la source
-1

Encore mieux que la réponse acceptée:

set mouse=a

Cela permet le défilement et la mise en évidence vous donne un bloc visuel.

ibash
la source
2
Cela permet d'autres choses que le défilement.
Kazark
3
D'ailleurs, cela est déjà mentionné dans la question.
Kazark