web-dev-qa-db-fra.com

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

Je voudrais utiliser la souris dans Vim seulement pour faire défiler (ne pas activer d'autres modes Vim ou interagir avec Vim). Utiliser :set mouse=a semble être une opération tout ou rien, cela peut-il être modifié? Sinon, iTerm peut-il uniquement passer à travers les événements de défilement et ne jamais cliquer/faire glisser les événements?

Explication longue: J'utilise beaucoup Vim dans iTerm et n'utilise pas la souris. Cependant, le défilement par inertie avec un trackpad est vraiment agréable et constitue un excellent moyen de parcourir de gros fichiers. Je peux :set mouse=a et utiliser le trackpad pour faire défiler et c'est génial. Maintenant, lorsque je clique, vim passe en mode visuel et iTerm ne copie pas le texte sélectionné. J'aimerais conserver à iTerms la possibilité de sélectionner et de copier du texte.

J'ai pensé à configurer Vim pour que la copie dans vim soit copiée sous Mac OS X (avec 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 sshname __ 'quelque part et j'édite des fichiers distants.

27
Jonah Braun

Vous pourriez utiliser

:set mouse=nicr

Cela fonctionne uniquement avec le défilement de la souris, comme je l’ai testé.

40
Armando Neto

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

17
Mike Morearty

Je ne suis pas sûr à propos de 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/ (installer SIMBL et MouseTerm)

  • Défilement seulement:

    1. Aller au terminal;
    2. Préférence;
    3. Icône "Paramètres";
    4. Onglet 'Clavier'
    5. 'Bouton de la souris;
    6. Il existe sous "Envoyer des événements de souris pour:" décocher "clic gauche", "clic du milieu", "clic droit".

Terminé.

1
LiL

Vous pouvez également définir vim env options 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'"
0
Dan Burkhardt