vim ve sistem panosu


9

Bir dosyayı cat edebilir, orta düğme veya shift-insert ile metin kopyalayıp yapıştırabilirim.

Vim'deki metni nasıl kopyalayıp sistem panosundan yapıştırabilirim?


bazen sed -n5,10p5-10 satır basmak için kullanıyorum , böylece fareye tepki vermeden vim olmadan daha kolay kopyalayıp yapıştırabiliyorum.
grantbow

aslında vim içinden komut benziyor:!sed -n 5,10p %
grantbow

Tüm yorum ve cevaplarınız için teşekkürler. xclip bazen yararlıdır, teşekkürler @ sergiy-kolodyazhnyy. Farklı makinelerde çalıştığımda bazen hangi vimin yüklü olduğu konusunda kontrolüm yok ama muru'nun cevabını kontrol etmek için talimatlara sahip olmak yardımcı oluyor, teşekkürler @ ashutosh-tripathy. İhtiyacım olduğunda onları hatırlamak için vim kayıt komutlarını daha sık kullanmam gerekiyor. Yukarıdaki soruda belirttiğim gibi, hızlı bir şekilde yapmak ve dosya küçükse, vim içindeki komut benziyor:!cat %
grantbow

Yanıtlar:


12

Sen ile Vim olması gerekir clipboardve xtermclipboard. In Ubuntu derlenmiş özellikleri, bu vim GUI paketleri (sadece mevcuttur vim-gnome, vim-gtk, vim-athenavb.)

Bunlardan birini yükledikten sonra pano kayıtlarına ( *ve +) kopyalayabilir (ve yapıştırabilirsiniz ). Vi ve Vim hakkındaki bu çok bilgilendirici yazıdan :

İçin X11 sistemlerini (. Yani tabanlı Linux ve diğer birçok UNIX benzeri sistemleri) birbirinden bağımsız 2 blokluk vardır:

  • PRIMARY - Bu, seçildiğinde kopyalanır ve farenin orta düğmesiyle yapıştırılabilir.
  • CLIPBOARD - Bu (genellikle) ile kopyalanır ^Cve yapıştırılır ^V(MS Windows gibi).

Vim'in şu panolara karşılık gelen 2 özel kaydı var:

  • *PRIMARY kullanır; anımsatıcı: s katran olduğunu s (copy-on için seçerler s seçerler)
  • +CLIPBOARD kullanır; anımsatıcı: CTRL + C (ortak tuş takımı için)

Bir kayda kopyalamak için, copy komutundan ( y) "ve kaydın adından ( *örneğin) önce gelirsiniz . "*yArdından yapıştırmak için orta tıklayın veya "+yve ShiftInsertyapıştırmak için.


3

Bu sorudan oldukça ilginç bir çözüm geliyor . Xclip'i yükleyin, ardından xclip'e ( cat file | xclip -selection clipboardörneğin) bir komutun çıkışını ekleyin ve sonra herhangi bir yere yapıştırın (terminal kullanımdaysa Ctrl ShiftV ). Şimdi, bu komutu xclip -sel clip, man sayfasını veya oradaki örnekleri okumaktan tam olarak anlaşılamayan bu komutu kısaltabileceğiniz ortaya çıkıyor .


2
Başka bir çıkış yolu, bu eklenti ile birlikte ekran veya tmux kullanmanızdır . Her durumda, bir şeyin yüklenmesi gerekir.
muru

X sunucusunda kullanılan gerçek pano nedir? Hiçbir şey bulamadım /dev, ama metin hala bir yerde tutuluyor, değil mi?
Sergiy Kolodyazhnyy

Her zaman bellekte olacağını varsaydım. Bu Unix ve Linux için güzel bir soru gibi görünüyor .
muru

3

Benim vim pano desteklemiyordu çünkü sorun vardı :

vim --version | grep clip
-clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      -mouseshape      +startuptime     -xterm_clipboard

Vim-gnome'u (panoyu destekleyen) yükledim ve sonra tekrar kontrol ettim:

vim --version | grep clipboard
+clipboard       +insert_expand   +path_extra      +user_commands
+emacs_tags      +mouseshape      +startuptime     +xterm_clipboard

Şimdi sırasıyla "+ y ve" + p kullanarak kopyalayıp yapıştırabiliyorum.

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.