Vim e mouse con ssh da Mac a Linux


9

So sicuramente che è possibile far funzionare il mouse in Vim su una sessione remota su una macchina Linux dal mio Mac, ma non ho capito come.

Daily Vim dà un suggerimento su come farlo funzionare, ma se provo a impostare 'mac-ansi', ad esempio, ricevo un errore che dice che posso solo specificare i valori che iniziano con builtin_ (riscos, beos-ansi, ecc.). Ho provato ad usare ssh -X, combinato con set mouse=ae set term=builtin_ansoper esempio, ma senza successo con o senza combinarli.

Sto usando Snow Leopard e sto tentando di usare il mouse su una macchina Debian con vim 7.1.314. Ho dato un'occhiata alla documentazione ma non riesco a farlo funzionare. Qualche consiglio?


Il consiglio su quel post quotidiano di vim è completamente sbagliato quando si tratta 'term'dell'opzione. Ci sono pochissime circostanze in cui si dovrebbe cambiare quell'opzione in Vim invece di impostare il terminale sul valore corretto per $ TERM. Il commento di Spectral è giusto.
Jamessan,

Risposte:


15

Non credo che Terminal.app supporti i report del mouse xterm necessari per far funzionare il mouse. Esistono alcune opzioni per ottenere un terminale con funzionalità di segnalazione del mouse.

  • iTerm è un programma terminale alternativo che supporta la segnalazione del mouse
  • MouseTerm è un trucco per aggiungere report del mouse a Terminal.app ma non l'ho provato e non so quanto funzioni bene
  • Puoi anche installare X11 e usare un vero xterm

Una volta che hai uno di quelli in corso, :set mouse=a(potrebbe anche essere necessario :set term=xterm) e dovresti essere in affari.


1
MouseTerm ha risolto il problema. Attualmente supportano i clic del mouse e gli eventi di scorrimento. Ho appena installato SIMBL + MouseTerm e ho eseguito set mouse = a in Vim sul mio computer remoto, e ha funzionato.
Jonatan Littke,

1
+1 per: set mouse = a in vim. Con Putty in esecuzione su Windows non è necessaria altra configurazione. Non riesco a credere di aver usato la tastiera solo per così tanto tempo.
Cheesington,

6

Per utilizzare Terminal.app con il mouse è necessario utilizzare Alt-clic anziché clic.
Ad esempio, in vim set mouse = a quindi usa Alt-clic per posizionare il cursore.

Funziona tramite ssh, anche se non consente il ridimensionamento di (vim) windows. Si perde anche la possibilità di tagliare da altre finestre e incollare nella finestra del terminale.


1

Non ho la risposta, ma posso condividere ciò che ho imparato nei miei mesi di ricerca della risposta. Sono un grande utente di vim e schermo GNU su ssh. Un po 'ironicamente, lo giuro su quei programmi perché posso usarli da remoto senza mouse, ma ho quasi abbandonato OS X perché non mi fornisce un modo semplice per usarli da remoto con un mouse.

Comunque, ecco cosa ho scoperto:

  • xterm in esecuzione su X11.app può essere creato per segnalare eventi del mouse e funzionare come desiderato. Sfortunatamente, xterm manca di molte delle funzionalità di iTerm e Terminal.app. Fare qualcosa di semplice cambiando il carattere in xterm richiede un po 'di magia nera.
  • Presumibilmente iTerm può ospitare la funzionalità desiderata, ma non l'ho mai fatto funzionare. iTerm ha anche sofferto di gravi problemi di prestazioni quando sono salito sulla nave per Terminal.app un paio di mesi fa. Gli aggiornamenti dello schermo sono avvenuti lentamente e richiederebbe il 25% di CPU semplicemente seduti lì senza fare nulla.
  • In realtà ho provato a utilizzare una VM Ubuntu ridotta in esecuzione su VMWare come app terminale. L'ho impostato per l'avvio in un Gnome-Terminal a schermo intero con fluxbox come gestore delle finestre. Ho rinunciato a quella soluzione perché non funzionava bene con Spaces e il sovraccarico dell'esecuzione di VMWare.

Ora non mi allontano mai da una vera scatola Linux di tanto in tanto uso vim tramite Terminal.app per tenermi onesto - se non ricordo i tasti di navigazione, potrei anche usare Visual Studio.


0

Oltre alla risposta di Geoff, ecco un'altra possibile soluzione:

MacVim + NetRW per vim .

MacVim ha il supporto mouse integrato e NetRW è un modulo vim che consente il montaggio remoto tramite vim scp://host/path/to/file. Quindi avvia MacVim e connettiti al file, modificalo e salvalo da remoto.

Potresti anche essere interessato a modificare un po 'la GUI, vedi la mia domanda correlata su SO.

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.