Tidak Dapat Menyalin ke Clipboard dari Vim

28

Saya menjalankan Vim 7.3 di Linux Mint 13 (menggunakan MATE) dan saya tidak dapat menyimpan teks ke clipboard sistem. Saya menjalankan Vim di terminal dan menyalin teks dari terminal dengan CTRLINSERT. Ketika saya memilih teks dalam Vim (baik dengan mouse atau dalam mode visual), CTRLINSERTtidak menyalin teks apa pun. Selain itu ketika saya mengklik kanan, Salin berwarna abu-abu. Selanjutnya, saya tidak bisa menulis ke buffer sistem dengan menarik ke register yang sesuai menggunakan perintah vim. Namun, saya dapat menempelkannya dalam mode sisipkan (menggunakan SHIFTINSERTatau klik kanan tempel). Saya juga dapat menyalin teks langsung dari terminal menggunakan teknik yang sama, hanya saja tidak teks dari Vim.

Inilah ~ ~ .vimrc saya saat ini . Bagian yang relevan kemungkinan besar set clipboard=autoselect,unnamed,exclude:cons\|linux. Jika saya meletakkan finishdi bagian atas ~ / .vimrc saya, saya memiliki masalah yang sama, jadi saya pikir barisnya salah, tetapi saya sudah mencoba set clipboard=unnameddan memiliki perilaku yang sama.

Mungkinkah ada file konfigurasi lain yang memengaruhi perilaku Vim? Bagaimana cara saya mengubah ~ / .vimrc agar saya dapat menyalin teks dari Vim?

maksim
sumber

Jawaban:

55

Saya yakin masalah salinan Anda disebabkan oleh:

mouse=a 

di .vimrc Anda. Ini mengatur vim Anda ke mode visual setiap kali Anda memilih sesuatu dengan mouse. Dan untuk beberapa alasan gila orang tidak diperbolehkan menyalin ketika dalam mode visual. Anda dapat mengatasinya dengan menahan shift ketika memilih teks untuk tidak masuk ke mode visual yang memungkinkan Anda untuk menggunakan menu salin.

atau Anda dapat mengubah ke:

:set mouse=v

dan salin akan bekerja lagi. tambahkan ke file ~ / .vimrc Anda jika Anda menginginkannya permanen


sumber
2
Meskipun ini mungkin benar-benar menyelesaikan masalah mereka, sebuah penjelasan mengapa itu bekerja akan lebih bermanfaat. Tanpanya jawaban Anda hanya memberi tahu seseorang untuk Menekan Tombol Hijau Dua Kali - Mungkin berhasil, mungkin tidak, tetapi itu tidak mencerahkan mereka.
voretaq7
Terima kasih, itu menyelesaikannya. Penjelasan yang Anda tambahkan setelah komentar voretaq7 banyak membantu juga!
Ini juga berlaku untuk Cygwin.
Dave Jarvis
1
Mode ini akan menyorot segalanya, jadi jika saya ingin menyalin beberapa baris, saya juga menyalin nomor baris dan semua ruang kosong setelah setiap baris hingga akhir layar. Apakah ada cara untuk hanya memilih konten yang relevan (yang bagaimana sorot bekerja saat mouse=a)?
Dennis
Jawaban yang bagus. Hanya plus: lebih banyak mode mouse di sini:help mouse
Dr Beco
10

sudo apt-get install vim-gtk kemungkinan akan menyelesaikan masalah ini untuk Karyawan Google lainnya.

Terminal vim bergaya terminal yang baik tidak memiliki akses ke clipboard, yang merupakan bagian dari sistem X windows. Instalasi vim-gtkmemberi vim akses yang diperlukan untuk memodifikasi dan melihat clipboard.

Cory Klein
sumber
2
Bekerja! Pada Debian Buster (sekarang dalam pengujian) saya menginstal vim-gtk dan kemudian baris perintah saya vim di xterm memungkinkan saya untuk menggunakan *dan +buffer untuk mengakses buffer x window. Instalasi vim-gtk menggunakan alternatif Debian untuk ditetapkan vim -> /usr/bin/vim.gtk.
RobertL
0

Terminal tidak tahu apa-apa tentang pemilihan vim, jadi jangan berharap itu membantu. Anda akan membutuhkan vim untuk dibangun melawan X (misal gvim -v), dan kemudian menarik dan memasukkannya dari +register.

Ignacio Vazquez-Abrams
sumber
3
The vim-gtkpaket di Ubuntu berisi dukungan clipboard (bahkan ketika dijalankan sebagai vimdalam terminal).
mgorven
Setuju dan dikonfirmasi pada Debian Buster (sekarang dalam pengujian) saya menginstal vim-gtk dan kemudian baris perintah saya vim di xterm memungkinkan saya untuk menggunakan * dan + buffer untuk mengakses buffer x window. Instalasi vim-gtk menggunakan alternatif Debian untuk mengatur vim -> /usr/bin/vim.gtk.
RobertL
0

hanya gvimdi linux lengkung kalau ada yang mau tahu. Lihat juga neovim(dan python-neovim&& python2-neovimuntuk dukungan You Complete Me, dll).

dylnmc
sumber
Coba gunakan gvim via ssh.
hopeseekr