Secara default, pintasan cut / copy / paste di GVim di Ubuntu adalah:
Potong "+ x Salin "+ y Tempel "+ gP
Saya ingin menggunakan kombo tombol kontrol di GVim, seperti yang saya gunakan di Firefox dan aplikasi gnome lainnya. Bagaimana cara mengkonfigurasi GVim agar berfungsi seperti aplikasi Gnome lainnya?
linux
ubuntu
text-editing
gvim
pcapademic
sumber
sumber
Jawaban:
Tambahkan baris berikut ke
_vimrc
atau.vimrc
Namun berhati-hatilah, mode visual CTRL-Q bukan CTRL-V.
Untuk tinjauan umum apa yang dilakukan mswin.vim melihat kode sumber mswin.vim . Ini dikomentari dengan sangat baik dan jika beberapa perintah tidak jelas Anda dapat dengan mudah mencarinya dalam bantuan vim.
Berikut ini adalah ikhtisar singkat yang disusun dari sumber:
Atas permintaan Nippysaurus: Saya menaruh berikut ini di .gvimrc saya untuk memperlihatkan Ctrl-V di samping Tempel di menu:
Saya tidak mengujinya secara menyeluruh, hanya memeriksa cepat apakah itu sesuai dengan yang saya harapkan. Bekerja untuk saya, semoga berhasil untuk Anda ;-)
sumber
mswin.vim
sudah adabehave mswin
panggilan. Apakah perlu untuk memanggil ini lagi di saya sendiri_vimrc
?behave mswin
, setidaknya pada sistem saya dengan Vim 8.0.Jika Anda ingin Cut / Salin / Tempel berfungsi menggunakan tombol pintas "standar", tetapi Anda tidak ingin mengubah opsi konfigurasi lainnya di gvim, coba tambahkan yang berikut ini ke
~/.vimrc
.Rekatkan hanya berfungsi dalam mode Visual dan sisipkan, sehingga Anda tidak perlu khawatir tentang konflik dengan Ctrl-V dan Mode Visual blockwise. Ini bukan masalah, karena Salin dan Potong membuat Anda masuk ke mode penyisipan, sehingga Anda dapat segera menempel setelahnya. Jika Anda mencobanya, Anda akan merasakannya benar-benar alami.
Saya datang dengan konfigurasi ini setelah beberapa iterasi tweaking, dan saya pikir itu "sempurna" sekarang. Jika Anda bahkan sedikit tidak puas dengan konfigurasi salin / tempel Anda saat ini, coba ini dan saya yakin Anda akan menyukainya.
sumber
:help i_ctrl-r_ctrl-o
, saya memutuskan untuk berubahimap <C-v> <ESC>"+pa
menjadiimap <C-v> <C-r><C-o>+
; ini berfungsi seperti yang diharapkan ketika kursor berada di sebelah kiri karakter pertama dari sebuah garis, dan itu paling dekat meniru perilaku "standar".<C-v>
untuk menggeser + memasukkan yang tampaknya jauh lebih cepat di mesin saya. Tetapi di tengah-tengah proyek dan tidak merasa ingin memulai kembali vim sekarang. Just sharingJika Anda ingin mempertahankan perilaku vim normal tetapi juga memungkinkan penggunaan clipboard sistem yang kurang rumit, lihat Mengakses clipboard sistem . Jika Anda ingin gvim menggunakan clipboard sistem sebagai penyangga default (sehingga setiap
x
,y
,p
, dll perintah menggunakan clipboard) kemudian tambahkan baris berikut ke vimrc Anda:Saya pribadi menggunakan buffer jauh lebih dalam vim daripada antara vim dan sistem; jadi saya lebih suka memiliki jalan pintas yang sedikit lebih rumit daripada clipboard sistem saya terus-menerus musnah. Tapi itu bagus bahwa pilihan ada untuk mereka yang lebih suka.
sumber
Saya pikir Anda dapat menambahkan ini dengan perintah: imap (mencobanya hanya dengan Ctrl + X di Windows yang berfungsi, menekan ctrl + c tampaknya membatalkan perintah sehingga Anda mungkin harus melakukannya di vimrc).
Jika Anda menambahkannya ke ~ / .vimrc Anda hanya perlu menghapus: di depan imap.
imap hanya menambahkan binding dalam mode insert, jadi Anda mungkin ingin mengubahnya hanya peta atau yang lainnya. Lihatlah ke dalam
:help mapmode
untuk mempelajari lebih lanjut tentang memetakan ulang dan membuka pemetaan barang.Semoga berhasil!
sumber