Copia e incolla tra i riquadri tmux contenenti istanze di vim su SSH in Terminal.app

0

Uso vim per sviluppare il codice Perl su una macchina Linux remota con Debian Jesse. La macchina è una macchina virtuale in esecuzione in VirtualBox. Io uso ssh e poi emetto un comando vim <file> per iniziare a modificare il file.

Ho sperimentato con tmux sulla macchina remota per vedere come mi piace. Ma non posso per la vita di me capire come copiare e incollare il testo tra istanze di vim in due diversi riquadri di tmux. Preferirei essere in grado di usare sia il tasto del mouse che le battute simili a vim ( yy , dd p ) per fare ciò.

Ho provato quasi ogni raccomandazione là fuori per aver provato a far funzionare tutto questo, ma non sono arrivato da nessuna parte. Sto conducendo El Capitan. C'è una risposta definitiva là fuori per far funzionare tutto questo?

    
posta StevieD 21.04.2016 - 15:58
fonte

2 risposte

1

Un modo migliore per farlo è salvare la selezione in un file temporaneo e usare il comando tmux load-buffer per caricarlo nel buffer di incolla e poi C-b ] per incollare.

Altrimenti potresti avere problemi con lunghe righe di testo che non si adattano allo schermo. Inoltre, le schede potrebbero non essere conservate e le lunghe righe potrebbero essere scomposte.

Devo menzionare un altro (più semplice) modo di farlo senza file aggiuntivi.

C'è una mod per tmux che aggiunge funzionalità di scripting più flessibili: link (sono l'autore)

Ti consente di copiare e incollare senza usare file temporanei:

  1. Copia la selezione in vim
  2. In vim, digita :!tmux tcl pbcopy "^R%" questo metterà il buffer di pasta di vim in quello di tmux
  3. In tmux, in un altro pannello usa ^B ] per incollare.

Probabilmente vuoi usare :set paste in vim.

E se lo fai frequentemente, puoi automatizzare il passaggio 2 e associarlo a un tasto premuto in vim.

    
risposta data 04.05.2016 - 17:39
fonte
0

Ho incontrato lo stesso problema e la mia soluzione è usare tmux anziché vim in queste istanze.

1) entra in modalità copia usando Control + b [ 2) vai all'inizio del testo, vuoi selezionare e premi Control + Spazio 3) spostarsi usando i tasti freccia per selezionare la regione 4) quando raggiungi la fine della regione premi semplicemente Alt + w per copiare la regione 5) ora Control + b] incollerà la selezione

I tuoi binding di tasti potrebbero variare leggermente

ottenuto questo da qui: link

    
risposta data 21.04.2016 - 16:59
fonte

Leggi altre domande sui tag