Ubuntu'da GVim'de kesme / kopyalama / yapıştırma işleminin Ctrl + X, Ctrl + C, Ctrl + V ile çalışması nasıl yapılır?


54

Varsayılan olarak, Ubuntu’da GVim’de kes / kopyala / yapıştır kısayolları şunlardır:

 Kes "+ x
 Kopyala "+ y
 Yapıştır "+ gP

Firefox ve diğer uygulamalarda kullandığım gibi, GVim'de kontrol tuş kombinasyonlarını kullanmak istiyorum. GVim'i diğer Gnome uygulamaları gibi çalışacak şekilde nasıl yapılandırabilirim?


Varsayılan vim tuşları ile çakışmalardan kaçınmak için, Ctrl + Key yerine Ctrl + Shift + Key'i seçin
Sheharyar 21:16

Yanıtlar:


50

Sizin aşağıdaki satırları ekleyin _vimrcOr.vimrc

source $VIMRUNTIME/mswin.vim
behave mswin

Ancak dikkat edin, görsel mod CTRL-V yerine CTRL-Q olur.

Mswin.vim'in mswin.vim kaynak kodunu gördüğü genel bir bakış için . Çok iyi bir şekilde yorumlanmış ve eğer bir komut net değilse, kolaylıkla vim'in yardımına bakabilirsiniz.

İşte kaynaktan derlenmiş hızlı bir bakış:

  • geri al ve imleç tuşları önceki / sonraki satıra kaydırır
  • CTRL-X ve SHIFT-Del Kesildi
  • CTRL-C ve CTRL-Insert kopyalanıyor
  • CTRL-V ve SHIFT Ekleme Yapıştır
  • CTRL-Q'nun ne yaptığını yapmak için CTRL-Q kullanın.
  • Ekle modunda da kaydetmek için CTRL-S kullanın.
  • CTRL-Z Geri Al; cmdline olmasa da
  • CTRL-Y, Yino'dur (tekrar olmamasına rağmen); cmdline olmasa da
  • Alt-Space Sistem Menüsüdür
  • CTRL-A is Tümünü seç
  • CTRL-Sekmesi bir sonraki penceredir
  • CTRL-F4 Pencereyi Kapat

Nippysaurus'un isteği üzerine: Menüde Yapıştır dışında Ctrl-V'yi göstermek için.

unmenu! Edit.Paste
aunmenu Edit.Paste
nnoremenu 20.360 &Edit.&Paste<Tab>Ctrl-V        "+gP
cnoremenu    &Edit.&Paste<Tab>Ctrl-V        <C-R>+

Ben iyice test etmedim, sadece beklediğimi yapıp yapmadığımı kontrol ettim. İşe yarar, umarım sizin için işe yarar ;-)


1
Peter Thorin'in cevabının yorumlarında Manni ve Peter Thorin'in yaptığı noktaları anlıyor ve takdir ediyorum. Benim almam, GVim'i Windows'ta bir not defteri değişikliği olarak öğrendim ve daha az sürtünme istiyorum. Teşekkürler Ludwig
pcapademic

2
Menü kısayol metnini yeni kısayol tuşlarıyla eşleşecek şekilde değiştirmenin bir yolu var mı?
Nippysaurus

@Nippysaurus: .gvimrc'deki menutrans ile denedim. İşe yaramadı, akşamları bir daha bakacaklar ...
Ludwig Weinzierl

2
mswin.vimZaten bir behave mswinarama var gibi görünüyor . Bunu tekrar kendi başıma aramak gerekli _vimrcmi?
Nathan Friend

1
@NathanFriend Ditto. behave mswinEn azından Vim 8.0 ile sistemimde bile olmadan çalışıyor .
Mikel

46

"Standart" kısayol tuşlarını kullanarak Kes / Kopyala / Yapıştır komutunun çalışmasını istiyorsanız, ancak gvim'deki diğer yapılandırma seçeneklerinden herhangi birini değiştirmek istemiyorsanız, aşağıdakileri eklemeyi deneyin ~/.vimrc.

vmap <C-c> "+yi
vmap <C-x> "+c
vmap <C-v> c<ESC>"+p
imap <C-v> <C-r><C-o>+

Yapıştır sadece Visual ve insert modunda çalışır, bu nedenle Ctrl-V ve blockwise Visual Mode ile çakışma konusunda endişelenmenize gerek yoktur. Bu bir sorun değildir, çünkü Kopyala ve Kes sizi ekleme moduna sokar, böylece hemen yapıştırın. Eğer denersen, tamamen doğal hissettirdiğini anlarsın.

Birkaç değişiklik yaptıktan sonra bu konfigürasyon ile karşılaştım ve şimdi "mükemmel" olduğunu düşünüyorum. Şu anki kopyala / yapıştır yapılandırmanızdan biraz memnunsanız, bunu deneyin ve bahse girerim seveceksiniz.


Bu tam olarak aradığım şeydi. Teşekkürler.
Sean McCleary

2
Bazı deneylerde ve istişare sonrasında :help i_ctrl-r_ctrl-o, ben değiştirmeye karar imap <C-v> <ESC>"+paiçin imap <C-v> <C-r><C-o>+; bu, imleç satırın ilk karakterinin solundayken beklendiği gibi çalışır ve "standart" davranışı en yakın şekilde taklit eder.
Holger

<C-v>Makinemde daha hızlı gözüken shift + insert değiştirmeyi düşünüyorum . Ancak bir projenin ortasında ve şu anda vim yeniden başlatmak gibi hissetmiyorum. Sadece paylaşım
Will

Sen
harikasın

9

Normal vim davranışını korumak, ancak sistem panosunun daha az kullanışsız kullanımına izin vermek istiyorsanız, bkz . Sistem panosuna erişme . (Bunu herhangi varsayılan tampon olarak sistem panosunu kullanmaya GVIM isterseniz x, y, pvb komut panoya kullanır) sonra vimrc aşağıdaki satırı ekleyin:

set clipboard=unnamed

Tamponları kişisel olarak vim ve sistem arasında olduğundan çok vim içinde kullanıyorum; bu yüzden sistem panomun sürekli olarak gizlenmesini sağlamak yerine biraz daha hantal bir kısayol olmasını tercih ederim. Ancak bu seçeneği tercih edenler için orada olması güzel.


2

Bunu: imap komutuyla ekleyebileceğinizi düşünürdüm (Windows'ta çalışan Ctrl + X ile çalıştım, ctrl + c tuşlarına basmak bu komutu iptal etse de vimrc'de yapmanız gerekebilir).

:imap <C-X> "+x
:imap <C-C> "+y 
:imap <C-V> "+gP

~ / .Vimrc'nize eklerseniz, imap'ın önündeki: işaretini kaldırmanız yeterlidir.

imap sadece ciltleme modunda ciltleme ekler, bu yüzden sadece harita veya başka bir şeyle değiştirmek isteyebilirsiniz. :help mapmodeEşyaların yeniden eşleştirilmesi ve eşleştirilmemesi hakkında daha fazla bilgi edinmek için bakın .

İyi şanslar!


1
Bu biraz numara yapmalı. Ama bunu yapmak kötü bir fikir. Ctrl-V görsel moda girmeli, Ctrl-C herhangi bir komutu iptal edecektir. İşin püf noktası sadece sisteminizde işe yarayacak; farklı bir makinede kaybedileceksin.
innaM

1
Bunun kötü bir fikir olduğuna katılıyorum, kendim kullanmak istemem, ama yalnızca sıradan bir gvim kullanıcısıysanız, muhtemelen çıkardığınız bağlantıları kaçırmazsınız.
Peter Thorin

1
Neden ilk önce gvim kullanıyorsunuz? Sıradan bir kullanıcı ne kadar kalacak?
innaM

2
Bunun kötü bir fikir olduğunu sanmıyorum. İnsanlar Ctrl + X vb. İçin kullanılır ve vim kullanmak için milyarlarca başka neden daha vardır.
Ludwig Weinzierl
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.