Seperti yang dikatakan dalam judul saya tidak dapat menyalin dari vim ke clipboard sistem. Viceversa berfungsi, menyalin dari luar vim dan menempel dengan p
ok.
Saya telah menginstal dukungan clipboard, versi vim adalah 7.3.429:
$ vim --version | grep clip
+clientserver +clipboard +cmdline_compl +cmdline_hist +cmdline_info +comments
+xsmp_interact +xterm_clipboard -xterm_save
Saya sudah:
set clipboard=unnamedplus
di saya .vimrc
dan sudah diatur ketika saya melakukannya:
set clipboard?
atau
:echo has('clipboard')
Saya menggunakan Ubuntu 12,04 LTS, dan vim di dalam gnome-terminal
(tetapi juga GVim memiliki masalah yang sama). Ada ide?
Terima kasih
clipboard+=unnamedplus
sesuatu dalam pengaturan default menonaktifkannya. Mengubah keclipboard=unnamedplus
(mis. Menghapus pengaturan lain) bekerja untuk saya.set clipboard+=unnamed
&set clipboard+=unnamedplus
tidak berfungsi saat menggunakan y dan p untuk berbagi clipboard sistem.:set clipboard?
==clipboard=autoselect,exclude:cons\|linux,unnamed,unnamedplus
; Setelah saya menghapus yang pertama+
, yangset clipboard=unnamed
danset clipboard+=unnamedplus
, dan itu berhasil !!:set clipboard?
==clipboard=unnamed,unnamedplus
Jawaban:
Inilah yang bekerja untuk saya (Ubuntu 13.10):
Instal ulang vim sebagai vim-gtk:
pilih apa yang ingin Anda gunakan mouse - lalu ketik untuk menyalin ke clipboard :
untuk menempel ke vim dari jenis clipboard :
Saya tidak tahu mengapa tetapi membandingkan output dari
vim --version
pertunjukan bahwa instalasi vim yang biasa sangat terbatas dibandingkan dengan vim-gtk. Mengganti vim dengan vim-gtk tidak memengaruhi pluging apa pun.Informasi lebih lanjut:
sumber
xterm_clipboard
dukungan, tetapi"+p
tidak berfungsi dalam VIM reguler. Alih-alih memotong ke clipboard, itu meningkatkan banyak garis yang dipilih.vim-gtk
pada akhirnya bekerja untuk saya di 14.04.4, tetapi saya mengalami hal-hal yang sedikit berbeda dari yang lain. Sebelumvim-gtk
menginstal, vim ditampilkan-xterm_clipboard
(yaitu tidak diaktifkan). Setelah menginstalvim-gtk
itu menunjukkan (+ xterm_clipboard). Saya sedang memeriksa ini denganvim --version | grep clip
. Bagaimanapun, masuk akal bahwa Anda membutuhkan+xterm_clipboard
!Saya akan meninggalkan jawaban asli di bawah ini karena mungkin penting bagi orang lain yang mencari pertanyaan ini.
Singkatnya sepertinya tidak ada satu ukuran cocok untuk semua jawaban, tetapi dengan 'set clipboard = unnamedplus' salah satu dari '* p' atau '+ p' harus bekerja dari clipboard "sistem".
'* p' hampir pasti yang Anda inginkan. ( dari sini )
vim adalah program klien. Ketika menggunakannya di dalam gnome-terminal (atau emulator terminal apa saja) crtl + c (atau kombinasi tombol apa saja) ditangani oleh emulator terminal terlebih dahulu, kemudian shell, kemudian akhirnya oleh program (vim dalam kasus ini). vim dan ctrl + c hampir pasti tidak akan pernah berhasil karena ctrl + c mengirimkan sinyal SIGINT ke tugas yang sedang berjalan. vim menggunakan SIGINT untuk menghentikan hal-hal lain seperti membatalkan mode penyisipan, atau menghentikan fungsi pencarian.
Dengan kata lain. Ctrl + C tidak pernah benar-benar diteruskan ke VIM. SIGINT diteruskan ke VIM. SIGINT memiliki kegunaan lain di vim sehingga menggunakan untuk menyalin kemungkinan tidak akan berhasil (dan bahkan jika Anda bisa memaksanya, bukan ide yang baik).
Alih-alih mencoba bertahan dengan Ctrl + Shift + C dan Ctrl + Shift + V (ada yang lain tapi saya percaya mereka menaruh teks di clipboard sistem)
Agar adil saya tidak tahu banyak tentang gvim.
sumber
ctrl-c
vim dan tempel LUARp
, tetapi dalam vim saya tahu saya harus menggunakany
.. Saya akan mengedit pertanyaan sayaGunakan di vimrc Anda:
Ini akan memungkinkan Anda untuk memilih dan menyalin secara manual dengan mouse.
sumber
Selain jawaban yang diterima , jika Anda bekerja jarak jauh melalui SSH (mis. Selesai
tmux
dengan beberapa panel denganvim
proses berbeda yang ingin Anda salin di antaranya), Anda juga perlu mengekspor tampilan X karenavim
menggunakanxterm-clipboard
antarmuka antar proses yang berbeda. Anda dapat mengatur tampilan X dengan menjalankanIni harus dijalankan sebelum
vim
diluncurkan, dan di bawah shell lain yang Anda miliki.sumber
Saya telah menemukan di Ubuntu 16.04 Saya perlu
vim-gui-common
menginstal agar"+y
dapat bekerja.sumber