Terminaller arasında kopyala yapıştır Vim


19

Normal vim yankve pasteyalnızca aynı pencerede çalışır (ancak dosyalar arasında çalışır ve komutları kapat / kaydet). Terminallerde çalışmasını sağlamak mümkün müdür (bir terminaldeki pencereden yank ve diğerinde yapıştır) ve eğer öyleyse, nasıl?

Yanıtlar:


30

Muhtemelen denemek için basit şey koymaktır set clipboard=unnamedGözlerinde farklı .vimrcve vim oturumları yeniden başlatın.

Bu, yank(örneğin yy) bir pencerede çalıştırmanıza izin verir ve put(örn. p) Başka bir pencerede çalışacaktır, çünkü tüm vim oturumları aynı X seçim arabelleğini paylaşacaktır.

Aşağı yönde, herhangi bir uygulamanın herhangi bir penceresindeki bir metni seçtiğinizde yank tampon belleğinizin üzerine yazılacaktır.

Ayrıca, vim'de çektiğiniz her şeyin orta tıklamayla herhangi bir uygulamaya yapıştırılabileceği anlamına gelir.

Bu şekilde sevmiyorsanız, yank yazmadan "+veya "*önce yazıp komut yazabilirsiniz , örneğin "+yybir satır yank.

+Formları panoya ile etkileşim ( "+ybenzerine Ctrl+ C, "+pbenzer Ctrl+ V). Formları seçimi tamponu (etkileşime sol tıklama ve sürükleme gibi, bir orta tıklama gibidir).
*"*y"*p

Ayrıntılar için bkz. GUI Seçimleri Yapma , X11 seçim desteği ve pano ve fare seçenekleri.


3
Tanrım, orta tıklamayı seviyorum. :)
Dan M.

set clipboard=unnamedbenim için çalışmıyor (.vimrc içine koydum ve tüm vim oturumlarını yeniden başlattım). Ne yazık ki, diğer yöntemleri de. Vim'imin x desteği ile derlenmemiş gibi görünüyor. Bir windows makinesinden bir linux makineye bağlanmak için VNC kullanıyorum.

3
Evet, bu yöntem X11 desteği gerektirir. Çalıştır :echo has('x11'), eğer X desteği etkinse yazdırır 1.
Mikel

0

Bir dosyanın tamamını hedef dosyanıza kopyalamak istiyorsanız.

Hedef dosyanızı vim ile açın.

İmlecinizi istediğiniz yere getirin ve aşağıdakini yazın:

:r /path_to_file/file.ext

Bu, imlecinizin bulunduğu yere tüm dosyayı kopyalar ...

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.