copia-incolla non funziona in MacVim all'avvio in tmux


19

Il copia-incolla di MacVim smette di funzionare quando lo avvio da un terminale tmux (su zsh). Se esco da tmux e quindi lancio MacVim copia-past funziona. Qualche idea su come risolvere questo problema?


Come stai copiando? Anche se non ho familiarità con il tuo problema particolare, in generale, dove una scorciatoia non funziona un'altra volontà.
Yitzchak,

comando C / V. le cose funzionano bene se lancio fuori da tmux, quindi è sicuramente correlato a tmux
Lisa,

Risposte:


16

Puoi provare la patch menzionata in un thread correlato ( "OSX 10.6.5, Terminal.app, iTerm.app pbpaste, pbcopy non funzionano sotto tmux" ) dalla mailing list di tmux-users (attualmente ospitata su sf.net, ma Adoro la loro interfaccia di archivio ).

Nota: la patch è stata, una volta, applicata alla porta MacPorts, ma è stata successivamente ripristinata quando si sospettava che causasse altri errori . Tuttavia, quegli errori potrebbero essere stati effettivamente causati dal gradimento contro la versione errata di libevent (e sembra che le versioni recenti di tmux funzioneranno con entrambe le versioni di libevent ).


Da quando Helgeg lo ha menzionato, menzionerò le mie note sul mio tentativo di usare la patch di cui sopra.

Riepilogo: ho trovato la patch inaffidabile. Consentiva l'accesso a pasteboard, ma ha attivato molti messaggi di avviso dalla mia installazione di libevent versione 2 (forse la versione 1 è meno interessata). Inoltre, impedisce al server tmux di eseguire il suo fork normale (2) (tramite demone (3) ), il che rappresenta una modifica significativa al modo in cui il processo del server è stato progettato per funzionare.

Ho finito per pubblicare un programma che risolve il problema senza patchare tmux . Le persone che hanno avuto problemi con l'utilizzo del pannello di controllo in tmux (e quelle per cui la patch sopra non funziona in modo soddisfacente) potrebbero voler provare il mio workaround.


Grazie mille per la tua indagine su questo problema davvero fastidioso e una soluzione geniale, funziona come un incantesimo
mko,

Grazie mille per questo Posso copiare il testo da iTerm e incollarlo in mac vim iniziato in tmux ora. Tuttavia, se avessi ^b + [avviato la modalità di navigazione e utilizzato Space+ Enterper selezionare e copiare il testo, non sarò in grado di incollarlo su Mac VIM. Per favore consiglio?
Phuong Nguyen,

1
@PhuongNguyen: uscire copy-modecosì copia solo in un buffer tmux , non nel pannello di montaggio Mac. È possibile utilizzare un comando Vim come :r!tmux save-buffer -leggere il buffer. Oppure potresti organizzare di copiare i dati sul pannello di controllo del Mac: tmux save-buffer - | reattach-to-user-namespace pbcopy(forse come un tmux binding via run-shell) o (in tmux 1.8+) uscire copy-modecon un binding come bind -t vi-copy y copy-pipe 'reattach-to-user-namespace pbcopy'(cioè usare questo yinvece di Enteruna volta che hai la tua selezione).
Chris Johnsen,

Grazie uomo. Sto usando la rilegatura per yora: D
Phuong Nguyen,


0

Un altro modo bizzarro per aggirare il problema che Chrish Johnsen ha descritto a lungo,

(per farla breve: Tmux perde l'accesso al buffer di incollaggio di OS X a causa del modo in cui si avvia)

è sempre ricordare di aprire MacVim dalla cartella delle applicazioni o di una sessione terminale non tmux.

e usa questo

http://webexpose.org/2008/10/13/open-macvim-tabs-from-command-line

tutorial su come avere sempre i file aperti in una nuova scheda nella stessa finestra di MacVim.

Quella finestra di MacVim avrà già accesso al buffer di incollaggio e non dovrai passare attraverso gli altri cerchi.

Ma dovrai ricordare di non avviare MacVim con tmux al primo caricamento :(

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.