copy-paste tidak berfungsi di MacVim ketika diluncurkan di tmux

19

Salin-tempel MacVim berhenti berfungsi saat saya meluncurkannya dari terminal tmux (on zsh). Jika saya keluar dari tmux dan kemudian meluncurkan karya copy-past MacVim. Adakah cara untuk memperbaikinya?

Lisa
sumber
Bagaimana cara Anda menyalin? Meskipun saya tidak terbiasa dengan masalah khusus Anda, secara umum, di mana satu pintasan tidak berfungsi, kehendak lain.
Yitzchak
perintah C / V. semuanya berfungsi dengan baik jika saya meluncurkan di luar tmux jadi pasti terkait dengan tmux
Lisa

Jawaban:

16

Anda dapat mencoba tambalan yang disebutkan dalam utas terkait ( "OSX 10.6.5, Terminal.app, iTerm.app pbpaste, pbcopy tidak berfungsi di bawah tmux" ) dari milis tmux-pengguna (sebenarnya dihosting di sf.net, tetapi Saya benci antarmuka arsip mereka ).

Catatan: tambalan itu, pada satu waktu, diterapkan ke port MacPorts, tetapi kemudian dikembalikan ketika diduga menyebabkan kesalahan lain . Namun, kesalahan-kesalahan itu mungkin sebenarnya disebabkan oleh menyukai versi libevent yang salah (dan tampaknya versi tmux terbaru akan bekerja dengan salah satu versi libevent ).


Karena helgeg mengangkatnya , saya akan menyebutkan catatan saya tentang upaya saya untuk menggunakan tambalan yang dirujuk di atas.

Rangkuman: Saya menemukan tambalan tidak dapat diandalkan. Itu memungkinkan akses papan tulis, tetapi memicu banyak pesan peringatan dari instalasi libevent versi 2 saya (mungkin versi 1 tidak terlalu terpengaruh). Ini juga mencegah server tmux dari melakukan garpu normal (2) (via daemon (3) ), yang merupakan perubahan signifikan untuk bagaimana proses server dirancang untuk bekerja.

Saya akhirnya menerbitkan program yang mengatasi masalah tanpa menambal tmux . Orang-orang yang memiliki masalah menggunakan papan tulis di bawah tmux (dan mereka yang tambalan di atas tidak bekerja dengan memuaskan) mungkin ingin mencoba solusi saya.

Chris Johnsen
sumber
Terima kasih banyak atas penyelidikan Anda tentang masalah yang sangat menyebalkan ini dan solusi yang brilian, ini berfungsi seperti pesona
mko
Terima kasih banyak untuk ini. Saya dapat menyalin teks dari iTerm dan menempelkannya ke mac vim yang dimulai di tmux sekarang. Namun, jika saya ^b + [memulai mode jelajah, dan menggunakan Space+ Enteruntuk memilih dan menyalin teks, saya tidak akan dapat menempelkannya ke mac vim. Tolong saran?
Phuong Nguyen
1
@PhuongNguyen: keluar copy-modeseperti itu hanya menyalin ke buffer tmux , bukan papan tulis Mac. Anda bisa menggunakan perintah Vim seperti :r!tmux save-buffer -membaca buffer. Atau Anda dapat mengatur untuk menyalin data ke papan tulis Mac: tmux save-buffer - | reattach-to-user-namespace pbcopy(mungkin sebagai tmux binding via run-shell) atau (dalam tmux 1.8+ ) keluar copy-modedengan binding seperti bind -t vi-copy y copy-pipe 'reattach-to-user-namespace pbcopy'(yaitu gunakan ini yalih-alih Entersetelah Anda memiliki pilihan Anda).
Chris Johnsen
Terima kasih sobat. Saya menggunakan pengikatan ke ysekarang: D
Phuong Nguyen
0

Cara hacky lain untuk mengatasi masalah yang dijelaskan Chrish Johnsen panjang lebar,

(Singkat cerita: Tmux kehilangan akses ke buffer pasta OS X karena cara peluncurannya sendiri)

adalah untuk selalu ingat untuk membuka MacVim dari folder aplikasi atau sesi terminal non tmux.

dan gunakan ini

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

tutorial tentang selalu membuka file di tab baru di jendela MacVim yang sama.

Jendela MacVim itu sudah memiliki akses ke buffer tempel dan Anda tidak harus melewati simpai lainnya.

Tetapi Anda harus ingat untuk tidak meluncurkan MacVim dengan tmux pada beban pertama :(

Akan
sumber