Come saltare in una posizione usando il mouse su iTerm / terminale?


43

Lavoro su un terminale per la maggior parte del tempo.

Esiste un'applicazione / plug-in su iTerm o qualsiasi altro terminale come un'applicazione che consente di controllare la posizione del cursore del mio terminale utilizzando un mouse?


Cosa vuoi fare al cursore?
user151019,

1
Vorrei saltare al cursore. In ogni caso, se ho una linea lunga delimitata dallo spazio, vorrei saltare in una posizione particolare. l'uso della tastiera richiede molti tasti.
Sairam,

Se stai già utilizzando Terminal probabilmente apprezzerai la tastiera. Impara le scorciatoie da tastiera per saltare all'inizio / alla fine della linea e navigare a parole, e ti farà risparmiare molti tasti e probabilmente sarà più veloce del mouse.

1
Vedi anche apple.stackexchange.com/a/217167/24565 per informazioni sulle opzioni del mouse per tmux
Michael Durrant,

Risposte:


52

Almeno in Terminal.app puoi tenere premuto optionmentre fai clic per saltare all'interno della tua linea corrente (ciò significa in realtà solo la linea, quindi se il tuo prompt attuale è così lungo che si avvolge in una seconda riga di input dovrai fare optionclic all'inizio della "seconda" riga e quindi saltare con i tasti freccia fino alla "prima" riga in cui è possibile fare optionnuovamente clic.)


1
Opzione clic, interessante. Non l'ho mai saputo prima. Assicurati di fare clic sulla linea, merda santa. Non capisco nemmeno cosa succede quando faccio clic sopra / sotto la riga corrente. Suppongo che si stia ripetendo più volte, ma sono abbastanza sicuro che la cronologia dei comandi non corrisponda esattamente.
Jason Salaz,

Bene, sta solo leggendo il numero di colonne su cui fai clic e salta in quella posizione nella riga corrente (!); quindi se sei alla fine di un prompt (vedi la riga 2: colonna 45) e fai clic su qualcosa nella prima riga (la riga 1: colonna 4) finirai nella colonna 4 (grande) ma rimanere in linea 2 (sbagliato!).
Asmus,

2
Il modo in cui Option-Click funziona è che emette l'equivalente degli input dei tasti freccia. Funziona bene con editor come emacs, ma se sei al prompt dei comandi di bash, interpreta su / giù come "comando precedente / successivo nella storia". Quindi, se si fa clic tenendo premuto Opzione in qualsiasi punto tranne la stessa riga che contiene il prompt, bash passa attraverso la cronologia dei comandi anziché spostare il cursore.
Chris Page

Funziona in iTerm2.
Ahmet Alp Balkan,

9

È passato un po 'di tempo da quando è arrivata questa domanda e ho già menzionato il seguito su questa piattaforma in Opzione-clic in iTerm e nel tracker dei problemi di iTerm2, ma forse è di aiuto per l'uno o l'altro:

Ciao, volevo solo farti sapere che ho implementato quella funzione in iTerm2. Non è ancora nel repository ufficiale iTerm2 ma se vuoi provarlo, puoi trovarlo su github .

Dal momento che è testato solo da me lo considero non stabile. L'ho provato con bash, vi ed emacs e ho fatto del mio meglio per assomigliare al comportamento Terminal.app.

C'è anche un binario precompilato su github iTerm_v1.0.0.20120312.git-b919985b.zip (per i386 / x86_64 / ppc).

Ovviamente qualsiasi feedback è il benvenuto.


La segnalazione del mouse si è interrotta nell'ultima versione? Non funziona più per me, non vedo il cursore "o" e non riesco a capire come ripristinarlo.
Michael,

Me lo riprendo. La segnalazione del mouse non funziona solo in alcuni casi - ad esempio, se si invia a un altro computer, quindi collegarsi a una sessione di tmux che esegue già emacs. Questo funzionava. Ora a volte devi uscire da emacs e riavviarlo prima che funzioni la segnalazione del mouse ...
Michael,

Sembra solo andare in una posizione in qualsiasi punto della linea corrente. È possibile fare clic sull'opzione in qualsiasi punto del comando attivo?
Skeleton Bow

6

La tastiera è spesso la tua migliore amica. In una configurazione predefinita, la shell controlla gran parte del modo in cui si naviga all'interno del prompt dei comandi.

Option+ btorna indietro di una parola (il cursore si posizionerà sulla prima lettera della parola precedente).

Option+ fva avanti di una parola (il cursore si posizionerà sul carattere non lettera DOPO la parola successiva).

Shift+ Fn+ Left Arrow (←)posizionerà il cursore all'inizio della riga. ( Ctrl+ afarà anche questo.)

Shift+ Fn+ Right Arrow (→)posizionerà il cursore alla fine della riga. ( Ctrl+ efarà anche questo.)

Quindi, se ho un comando lungo, ad esempio:

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

E inizio colpire Option+ b, il cursore si ferma sul una nella zona, la o in uscita, il d di distribuzione, ecc

Se vado all'inizio della linea e inizio a colpire Option+ f, il cursore si fermerà nello spazio dopo rsync, lo spazio dopo avz, lo spazio dopo l'avanzamento, i siti / after, ecc.


Mi piace la tua soluzione consapevole del "problema XY". Pur non rispondendo alla domanda originale, è un'alternativa molto degna. È apposta però che a volte dici CMD + be opzione + b?
Cornelius Roemer,

1
No, è stato un errore da parte mia. Il comando non avrebbe mai dovuto essere usato qui perché controlla i comportamenti della finestra Terminale, non i comportamenti shell / movimento.
Jason Salaz,

5

In iTerm2 tieni premuto alt (sinistra o destra) e fai clic per spostare il cursore in qualsiasi posizione su qualsiasi linea.


3

Se sei particolarmente interessato al movimento in Vim, puoi aggiungerlo set mouse=aal tuo ~/.vimrcfile.

Funziona in iTerm per il movimento. Ti consente anche di contrassegnare le sezioni come se fossi entrato in modalità visiva, in modo da poterlo strappare o eliminare o commentare il codice a seconda dei tuoi plugin.

Molto comodamente, consente anche di scorrere rapidamente un documento di grandi dimensioni utilizzando una diapositiva con due dita o la rotellina del mouse.

L'unico inconveniente è che rende difficile selezionare il testo che si desidera copiare per l'uso in altre applicazioni, anche se è sufficiente premere optionmentre si seleziona.

Inoltre: nota che, se aggiungi qualcosa come vimpager (anche su macports), puoi anche scorrere le pagine man dopo aver aggiunto:

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

al tuo .profileo .bashrc.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.