it-swarm-tr.com

Vim'den harici bir programa metin nasıl kopyalanır?

Vim'den bazı metinleri kopyalayıp yapıştırmaya çalışıyorum. Görsel moda girmek için v yapıyorum, sonra bloğumu seçtiğimde y yapıyorum.

Metni vim panosuna kopyalıyormuş gibi görünüyor, çünkü p onu yapıştıracak. Ancak başka bir programda (ör. Chrome), sağ tıklayın -> yapıştır doğru metni yapıştırmaz. Metni doğru panoya nasıl kopyalarım?

91
ripper234

Aşağıdakiler yalnızca vim --version Özelliği +xterm_clipboard Özelliğiniz olduğunu belirtirse çalışır. Aksi takdirde, ekstra paketler yüklemeniz veya vim'i bu özellik eklendiğinde yeniden derlemeniz gerekir.


Aslında bunun için iki seçenek var:

"+y

"normal" pano arabelleğine kopyalar (böylece Ctrl + V kullanarak yapıştırabilir, sağ tıklayıp "Yapıştır" vb. seçebilirsiniz)

"*y

x11 seçimine kopyalar - bu arabellekten orta tıklamayı kullanarak yapıştırabilirsiniz.

"* Ve "+ Öğelerinin her iki yönde de çalıştığını unutmayın. Başka bir uygulamada bir metin seçtiyseniz, "*p Kullanarak vim'e yapıştırabilir ve bir metin kopyaladıysanız (örneğin, Ctrl-C kullanarak) vim içine yapıştırabilirsiniz "+p.

70
Hamish Downer

Vim> = 7.3.74 kullanıyorsanız, bunu vimrc'nize koyabilirsiniz:

set clipboard=unnamedplus

Hangi otomatik olarak + buffer (sistem panosu) varsayılan olarak. Ardından, kopyalamak (kopyalamak) için, normal y komutunu vb. Kullanmanız yeterlidir.

Bu davranışı oldukça rahatsız edici buldum, ancak, d gibi komutlar, varsayılan tampon içine koydular, bu da hızlı bir dd yapamayacağım ve bir çizgi yapıştırabileceğim anlamına geliyordu. örneğin internetten.

35
Reid

ÜstKrktr tuşunu basılı tutun tuşunu basılı tutun ve fare imleciyle metni seçin.
Metin panoya kopyalanacak.

Bu aynı zamanda from panoyu vim'e yapıştırmak için de kullanılabilir.

Açıkçası, bu, vim gibi bir terminalde çalışan xterm için çalışır.

31
Andrew Stacey

Standart "+gP ve "+y komutlarını kullanmak çok zor. Bu yüzden Ctrl-Y panoya girmek için ve Ctrl-P panodan yapıştırmak için. Bunu .vimrc

nnoremap <C-y> "+y
vnoremap <C-y> "+y
nnoremap <C-p> "+gP
vnoremap <C-p> "+gP
11

Boş ver, cevabı buldum - vim'in menülerinde yazıyor.

"+y

Çok sezgisel.

6
ripper234

Sadece vim'e özgü olmayan bir cevap eklemek için: Ctrl+Shift+C Ubuntu'daki sistem panosuna kopyalamak için (işlevsellik terminal öykünücünüz tarafından sağlanmışsa, gnome-terminali bunu sağlar). Ctrl+Shift+V başka bir terminal penceresine yapıştırır, normal Ctrl+V bir GUI uygulamasına yapıştırır.

Ayrıca, terminaldeki metni seçip orta tıklarsanız, X11 panosundan yapıştırılır.

4
crazy2be

SHIFT tuşunu basılı tutun ve fareyi kopyalamak için metni seçin.

Sonra CTRL + v İle başka bir programa yapıştırın.

Ubuntu 16.04 cihazımdaki terminalde çalışıyor. gvim ve diğer sistemler hakkında emin değilim.

enter image description here

4
Andrzej Rehmann

Ne zaman vim benim panoya desteklenmediğini kontrol:

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

Vim-gnome'u 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.

3

Varsayılan olarak, vim'in hafif sürümünü yüklerseniz, +xterm_clipboard özelliği açık (vim --version | grep xterm), * ve + vim dışında kayıt yapar.

Etkinleştirmek için vim'i kendiniz derlemeniz veya önizlemeyle birlikte gelen bir vim sürümünü yüklemeniz gerekir. Vim-gnome kullandım: Sudo apt-get install vim-gnome. vim --version | grep xterm, şimdi olduğunu göreceksiniz +xterm_clipboard.

Şimdi + ve * ve çalışması gerekir.

2
laughing_man

Sadece eklemek için, eğer herhangi bir şey çalışırsa, vim'i saran terminali değiştirmeyi deneyin (terminalden vim kullanıyorsanız). Örneğin, gnome terminalinden erişilebilirken panoya guake tarafından erişilemez olduğunu buldum.

0
gc5