Comment sauter à un endroit en utilisant la souris sur iTerm / terminal?

42

Je travaille sur un terminal la plupart du temps.

Existe-t-il une application / un plug-in sur iTerm ou tout autre terminal, tel qu'une application, à l'aide duquel je peux contrôler l'emplacement du curseur de mon terminal à l'aide d'une souris?

Sairam
la source
Que voulez-vous faire avec le curseur?
Mark
1
Je voudrais sauter au curseur. Le cas d'utilisation étant, si j'ai une longue ligne délimitée par un espace, je voudrais sauter à un endroit particulier. L'utilisation du clavier nécessite de nombreuses frappes.
Sairam
Si vous utilisez déjà Terminal, vous apprécierez probablement le clavier. Apprenez les raccourcis clavier pour passer au début / à la fin de la ligne, et naviguez par mot. Vous éviterez ainsi de nombreuses frappes au clavier et probablement plus rapide que la souris.
1
Voir aussi apple.stackexchange.com/a/217167/24565 pour plus d'informations sur les options de souris pour tmux
Michael Durrant

Réponses:

49

Au moins dans Terminal.app, vous pouvez maintenir la touche enfoncée optiontout en cliquant pour sauter dans votre ligne actuelle (cela ne signifie en fait que la ligne; si votre invite actuelle est tellement longue qu'elle passe à une deuxième ligne d'entrée, vous devez optioncliquer sur au début de la "deuxième" ligne, puis sautez avec les touches fléchées vers la "première" ligne sur laquelle vous pouvez optioncliquer à nouveau.)

Asmus
la source
1
Option clic, intéressant. Jamais connu celui-là avant. Assurez-vous de cliquer sur la ligne si, merde sainte. Je ne comprends même pas ce qui se passe lorsque je clique au-dessus / au-dessous de la ligne actuelle. J'imagine que cela nécessite plusieurs pressions, mais je suis à peu près sûr que l'historique des commandes ne correspond pas exactement.
Jason Salaz
Eh bien, il ne lit que le nombre de colonnes dans lesquelles vous cliquez et saute à cette position dans la ligne actuelle (!); Donc, si vous êtes à la fin d'une invite enveloppée (par exemple, ligne 2: colonne 45) et que vous cliquez sur un élément de la première ligne (par exemple, ligne 1: colonne 4), vous vous retrouverez dans la colonne 4 (génial), mais restez en ligne 2 (faux!).
Asmus
2
La façon dont Option-Click fonctionne est qu’elle émet l’équivalent des entrées avec les touches fléchées. Cela fonctionne bien dans les éditeurs comme emacs, mais si vous êtes à l'invite de commande bash, cela interprète haut / bas comme "commande précédente / suivante de l'historique". Ainsi, si vous maintenez la touche Option enfoncée, à l'exception de la même ligne que celle qui contient l'invite, bash parcourt l'historique des commandes au lieu de déplacer le curseur.
Chris Page
Fonctionne dans iTerm2.
Ahmet Alp Balkan
9

Cela fait longtemps que cette question a été posée et j'ai déjà mentionné les éléments ci-dessous sur cette plate-forme dans Option-click dans iTerm et le suivi des problèmes de iTerm2, mais peut-être est-ce utile pour l'un ou l'autre:

Bonjour, je voulais simplement vous faire savoir que j'ai implémenté cette fonctionnalité dans iTerm2. Ce n'est pas encore dans le dépôt officiel iTerm2, mais si vous voulez essayer, vous pouvez le trouver sur github .

Comme il n’a été testé que par moi, j’estime qu’il n’est pas stable. Je l'ai testé avec bash, vi et emacs et j'ai fait de mon mieux pour ressembler au comportement de Terminal.app.

Il y a aussi un fichier binaire précompilé sur github iTerm_v1.0.0.20120312.git-b919985b.zip (pour i386 / x86_64 / ppc).

Bien sûr, tout commentaire est le bienvenu.

boretom
la source
Est-ce que la souris a signalé une rupture dans la dernière version? Cela ne fonctionne plus pour moi, je ne vois pas le curseur "o" et je ne vois pas comment le récupérer.
Michael
Je reprends ça. Les rapports de souris ne fonctionnent pas seulement dans certains cas - par exemple, si vous utilisez ssh sur une autre machine, connectez-vous à une session tmux exécutant déjà emacs. Cela fonctionnait. Maintenant, vous devez parfois quitter emacs et le redémarrer avant que le reporting de la souris ne fonctionne ...
Michael
Il semble seulement aller à une position n'importe où sur la ligne actuelle. Est-il possible de cliquer n'importe où sur la commande active avec la touche Option?
Skeleton Bow
6

Le clavier est souvent votre meilleur ami. Dans une configuration par défaut, votre shell contrôle la majeure partie de votre navigation dans l'invite de commande.

Option+ bretourne un mot (le curseur se positionnera sur la première lettre du mot précédent).

Option+ favance d'un mot (le curseur se trouvera sur le caractère non alphabétique APRÈS le mot suivant).

Shift+ Fn+ Left Arrow (←)mettra le curseur au tout début de la ligne. ( Ctrl+ le afera aussi.)

Shift+ Fn+ Right Arrow (→)mettra le curseur à la toute fin de la ligne. ( Ctrl+ le efera aussi.)

Donc, si j'ai une longue commande, par exemple:

$ rsync -avz --progress ~/Sites/Development/My/Project web@server:/deployment/output/area

Et je commence à frapper Command+ b, le curseur s'arrêtera sur la une dans la zone, l' o en sortie, le d dans le déploiement, etc.

Si je vais au début de la ligne et commence à frapper Command+ f, le curseur s’arrêtera à l’ espace après rsync, l’ espace après avz, l’ espace après le progrès, les sites / après, etc.

Jason Salaz
la source
4

Dans iTerm2, maintenez la touche Alt (gauche ou droite) enfoncée et cliquez pour déplacer le curseur à n’importe quelle position de la ligne.

Jens Lorentsson
la source
3

Si vous êtes particulièrement intéressé par le mouvement dans Vim, vous pouvez ajouter set mouse=aà votre ~/.vimrcfichier.

Cela fonctionne dans iTerm pour le mouvement. Il vous permet également de marquer des sections comme si vous étiez entré en mode visuel, de sorte que vous puissiez le supprimer ou le supprimer, ou commenter le code en fonction de vos plugins.

Il vous permet également de faire défiler rapidement un document volumineux à l'aide d'un curseur à deux doigts ou d'une molette de la souris.

Le seul inconvénient est qu’il est difficile de sélectionner le texte que vous souhaitez copier pour une utilisation dans d’autres applications - bien que vous n’ayez à appuyer optionque pendant que vous sélectionnez.

Notez également que si vous ajoutez quelque chose comme vimpager (également sur macports), vous pouvez également faire défiler les pages de manuel une fois que vous avez ajouté:

export PAGER=/opt/local/bin/vimpager #or wherever vimpager is installed
alias less=$PAGER

à votre .profileou .bashrc.

RandallZ
la source