Terminale Mac OS X: supporto mouse?


75

Esiste un'opzione nativa (cioè senza installare soft / package / plugin extra) per abilitare il supporto del mouse nell'app Terminal?

In realtà, sto usando molto vimcon l'opzione set mouse=a(attivazione delle funzionalità del mouse).

Ma sembra che Terminal non supporti tutte le funzionalità di xterm.

Sembra (dopo alcuni googling) che Terminal avesse una volta il supporto del mouse, ma mi chiedo dove sia andato.

NB: Voglio davvero il supporto del mouse in Terminal, non solo per Vim, quindi per favore, non suggerire MacVim:]


Cosa supporta xterm che Terminal non supporta? Copia su evidenziazione e incolla centrale?
Ignacio Vazquez-Abrams,

La segnalazione del mouse. È il vero supporto del mouse. Per quanto ne so, il copy-on-highlight, il middle-paste, ecc. Non sono realmente correlati al Terminale.

2
copy-on-highlight e middle-paste hanno mangiato Terminale - in quanto Terminale non li fa - potresti provare iTerm per quelli
user151019

@Mark: l'ho controllato e mi è piaciuto. Anche se Terminal gestisce personaggi in grassetto di gran lunga migliori. Comunque grazie.

2
@Arjan: alcune app CLI interattive supportano il mouse; ad esempio, posizionando il cursore del testo in vim.
ELLIOTTCABLE

Risposte:


104

Ho trovato la risposta

Un amico mi ha detto il trucco, è così facile che mi vergogno.

Basta premere il tasto Alt e fare clic! (con supporto mouse precedentemente attivato in vim)


AGGIORNAMENTO per OSX 10.11 El Capita

Si prega di vedere la risposta di Chris Page .


11
Sono stato un utente esperto di OS X per quello che sembra mezzo secolo e non l'ho mai saputo. Sono estremamente colpito. Vorrei poterti dare un centinaio di voti invece di uno.
ELLIOTTCABLE

4
In ogni caso disabilitare il requisito da usare alt?
philfreo,

8
Non è lo stesso, per me comunque. Spesso clicco su un personaggio e il cursore finisce da qualche altra parte, quasi vicino ad esso. Inoltre, non funziona per cambiare scheda in vim. Sembra anche che non funzioni così bene per cambiare finestra in tmux.
Andyortlieb,

1
@andyortlieb: ecco perché mi sono trasferito su iTerm2.
avetis.kazarian,

2
non funziona per me.
Mike Graf,

23

A partire da OS X 10.11 El Capitan, Terminal supporta Mouse Reporting.

Si noti che i programmi che supportano il Mouse Reporting devono abilitarlo tramite sequenze di escape e che la maggior parte dei programmi che supportano il Mouse Reporting devono essere configurati per abilitarlo. Ad esempio, in Vim devi eseguire set mouse=a(di solito nel tuo ~/.vimrcfile).

Il terminale supporta la segnalazione di tre pulsanti del mouse e una rotella di scorrimento. Per simulare una pressione di tre pulsanti con un dispositivo a due pulsanti, è possibile utilizzare Comando-clic-destro. (Il tasto destro del mouse esegue anche Modifica> Incolla selezione quando la funzione Mouse Reporting è disattivata, quindi il clic centrale incollerà il testo selezionato più di recente, indipendentemente dal fatto che si stia utilizzando o meno la funzione Mouse Reporting.)

Quando il Mouse Reporting è abilitato, il Option ⌥tasto modificatore è mappato su Meta per fare clic e scorrere, e non è influenzato dalla preferenza della tastiera "Usa opzione come tasto Meta", che si applica solo all'input da tastiera.

Per bypassare temporaneamente i rapporti del mouse e interagire con la vista terminale, premere il Fntasto modificatore mentre si fa clic o si scorre. C'è anche una voce di menu Visualizza> Consenti segnalazione mouse (⌘R) che puoi utilizzare per ignorare la segnalazione mouse per periodi di tempo più lunghi o se il tasto modificatore non è disponibile.

Si noti che, quando abilitato, Mouse Reporting sostituisce il comportamento esistente Opzione-clic del terminale (che invia l'immissione di un tasto freccia per spostare il cursore) e il comportamento "Scorri schermo alternativo". Inoltre, la nuova voce di menu Consenti report del mouse e il Fnmodificatore si applicano anche a "Scorri schermata alternativa" per consentire di aggirare temporaneamente questo comportamento.


"Consenti la segnalazione del mouse" è la risposta per me. iTerm2 aveva questa funzione ma voglio solo usare l'app Terminal integrata per la sua leggerezza.
Kay

@Kay: Sono contento che ti piaccia, ma, per essere chiari, la voce di menu "Consenti segnalazione del mouse" non attiva la segnalazione del mouse. Si tratta semplicemente di un comando che consente di interagire temporaneamente con la vista terminale invece di inviare l'input del mouse al programma remoto quando è stato abilitato Mouse Reporting. I programmi abilitano il Mouse Reporting inviando sequenze di controllo al terminale.
Chris Page

12

In alternativa all'utilizzo di Alt-clic per impostare il cursore in vi con Terminale OS X, vorrei suggerire di utilizzare iTerm 2:

Volevo il supporto del mouse nel Terminal vi (Mac OS X 10.7 Lion), ma non c'è supporto per lo scorrimento con la rotella di scorrimento. Ho finito per passare dal Terminale a iTerm 2, che supporta lo scorrimento della rotellina di scorrimento vi, e non è necessario tenere premuto alt per impostare il cursore.

Se non usi alcune delle funzionalità più avanzate nell'app Lion's Terminal , potresti essere abbastanza soddisfatto di iTerm 2.

Modifica : per abilitare il supporto del mouse in Vim quando si utilizza iTerm 2, aggiungere la seguente riga al proprio .vimrc:

:set mouse=a

Come puoi scorrere verso il basso usando la rotellina del mouse? Risale solo il buffer dello schermo e puoi ottenerlo in Terminal.app disabilitando l'uso del buffer dello schermo alternativo, ad esempio in vim usando set t_ti= t_te=nel tuo ~/.vimrc.
Daniel Beck

Avevo bisogno di configurare :set mouse=anel mio .vimrc - questo è il modo normale per abilitare il supporto del mouse in Vim, ma sembra che l'input del mouse venga mangiato da Terminal.app. Tuttavia, scorrere su e giù in un file di testo con la rotella di scorrimento sembra funzionare perfettamente in iTerm2.app.
Steve HHH,

Su MacOS Mojave (10.14) non ho problemi ad usare il mouse in vim usando il Terminale OSX.
Gagarine,

1

Sembra che su OS X 10.4 (non sono sicuro circa 10.5) è possibile abilitare il supporto del mouse. Apri il Terminale, quindi fai clic su Impostazioni finestra. Fai clic su Emulazione dall'elenco a discesa, quindi seleziona l'opzione "Fai clic per posizionare il cursore".


1
In realtà, non c'è niente come "Impostazioni finestra" nelle preferenze Terminale su 10.5 né su 10.6. Tutto quello che puoi fare nella scheda "Finestra" è cambiare il colore di sfondo, le dimensioni dello scorrimento, il titolo e le dimensioni della finestra.

1
Deve essere solo il 10.4 quindi ...

1
Questo non è esattamente il supporto del mouse. Ciò che farà sarà consentire di fare clic su una parte del terminale e Terminal.app calcolerà il numero di caratteri su / giù / sinistra / destra necessari per spostare il cursore lì, quindi digitarli. Molto utile, ma non quello che l'OP voleva, non credo.
Josh,

1

Nota che Mac OS X ha xterm oltre a Terminal.app. Dalla tua domanda non saprei dire se tu ne fossi consapevole. Ma se hai installato il pacchetto X11 puoi avviare una finestra xterm e il supporto del mouse funziona bene.


0

MouseTerm sembra essere il plugin SIMBL ideale per coloro che desiderano un supporto decente mouse nella loro terminali Mac OS X. A partire da maggio 2013, l'ultima versione (1.0b1 rilasciata a luglio 2011) afferma che aggiunge le seguenti funzionalità all'applicazione Terminale standard di OS X:

  • Segnalazione del pulsante del mouse.
  • Segnalazione della rotellina del mouse.
  • Scorrimento simulato della rotellina del mouse per programmi come meno (ovvero qualsiasi programma a schermo intero che utilizza la modalità tasto cursore dell'applicazione).
  • Integrazione del profilo terminale (con finestra di dialogo delle preferenze).

Sto usando tmux e vim con esso, e mi permette non solo di fare clic (senza il tasto opzione!) Ma anche di scorrere e trascinare al loro interno con poca configurazione: ad esempio, :set mouse=aper vim e tmux set-window-option mode-mouse on. È facile attivare o disattivare la segnalazione del mouse (con una singola combinazione di tasti ⇧⌘Mo dal menu Shell), quindi non c'è nulla da perdere per averlo installato.

(Avvertenza: fare clic / trascinare in modalità copia tmux non funziona come mi aspettavo, però.)


Un altro avvertimento: ho notato che dopo aver avviato Terminal dopo aver effettuato l'accesso, il supporto del mouse non funziona affatto fino a quando non esco da Terminal e lo riavvio.
Michael,

@Michael: il tuo sintomo sembra familiare al vecchio SIMBL Numero 13 . L'aggiornamento di SIMBL lo risolverebbe probabilmente. (0.9.9 o 0.9.9b)
netj

provato 0.9.9, non ha funzionato. ho provato l'AppleScript nel commento # 23, ho ottenuto "Fine della riga prevista ma ho trovato l'identificatore" (ha cambiato "Snow Leopard" in "Lion", ma sto eseguendo Lion ...)
Michael

ha anche provato 0.9.9b (Patched for Lion), e neanche quello lo risolve. deve ancora riavviare Terminal prima che accetti gli eventi del mouse.
Michael,

0

È possibile impostare l'emulazione xterm nelle preferenze avanzate, almeno nel Terminale 2.4 (OS X 10.9.3). Ciò mi ha consentito il corretto supporto del mouse.


Non funziona (assicurati di provare con vim e tmux).
avetis.kazarian,
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.