Vim panoya nasıl kopyalanır?


752

Doğrudan Vim'den panoya kopyalamak mümkün mü? yyyalnızca Vim'in dahili arabelleğine kopyalar. İşletim sisteminin panosuna kopyalamak istiyorum. Vim'de böyle bir komut var mı yoksa sadece Vim içinde bir şeyler sorabilir misiniz?


140
Lütfen önemli bir gerçeği açıklayan yetersiz oylama cevabına bakın: aşağıdaki önerilerin HERHANGİ BİRİNDE çalışması için + pano özelliği ile derlenmiş vim'e sahip olmalısınız! Çoğu sistemde bu varsayılan DEĞİLDİR.
Neil Traft

7
@NeilTraft, bazı cevaplar vim'den harici programlara borulama önerdiğinden, HERHANGİ bir yanıtın + pano bayrağı gerektirdiği iddiası yanlıştır. Sadece gelecekteki okuyucuları karışıklıktan kurtarmak için işaret ediyor.
Hnatt

2
Olası yinelenen nasıl yapılır yapıştırma (ve kopya) sisteminizin panosuna vim? (Not: diğer soru daha yeni, ancak daha iyi cevapları var IMHO, bu yüzden bunu bir dupe olarak işaretledim)
Martin Tournoij

5
sudo apt-get install vim-gnome Aşağıdaki komutları uygulamadan önce yaptığınızdan emin olun, aksi takdirde Geçersiz Kayıt Hatası alırsınız!
Harnirvair Singh

7
@Harnirvair Buradaki birçok okuyucu grubu vim-gnomeiçin muhtemelen OS / dağıtımlarında aşırıya kaçabilir veya basitçe kullanılamazken, panoya entegrasyon sağlarken (en azından hala X11'de olanlar için) daha az bağımlılık olduğundan şüpheleniyorum vim-gtkve tercihen vim-gtk3daha az bağımlılık çekiyorum. Bunların Wayland ile nasıl etkileşime girdiğinden emin değilim).
underscore_d

Yanıtlar:


496

*Kayıt yapacağız. Windows +ve *eşdeğerdir. Unix'te +ve arasında ince bir fark vardır *:

Windows altında * ve + kayıtları eşdeğerdir. Yine de X11 sistemleri için farklıdırlar. X11 sistemlerinde * seçimdir ve + kesme arabelleğidir (pano gibi). http://vim.wikia.com/wiki/Accessing_the_system_clipboard

*muhtemelen çoğu zaman istediğiniz şeydir, bu yüzden *her iki ortamda da beklediğim gibi çalıştığı için kullanıyorum.

Linux dağıtımlarında pano işlevselliği elde etmek için önce vim-gtk(aka gvim) yüklemeniz gerekir . Bunun nedeni, gtk olmayan vim'in genellikle X11 desteği olmadan derlenmesidir. Bu, yalnızca konsol makinelerinde (genellikle sunucularda) çalışmasını sağlamak içindir.

Ve sorarken veya koyarken kayıtların nasıl kullanılacağı konusunda şaşkın olanlar için, sadece kaydın adını yazıyorsunuz ". Yani bir şeyi panoya kaydetmek için yazın "*yve sonra size yazın "*p(kredi: Kyle Mathews)


31
Mac osx aslan üzerinde çalışmaz. "Sonra * 'ya bastıktan sonra, bir şey yapamayacağınız zaman mac'un çıkardığı sesi çıkarır. Mac'te nasıl yaparım?
Eddy

62
Ayrıca vim'in pano desteği ile derlendiğinden emin olmalısınız. Ubuntu'daki varsayılan vim değil. Deneyin vim --version|grep .xterm_clipboard -ove eğer öyleyse -desteğiniz yok. Ubuntuforums.org/showthread.php?t=1686955
Sparhawk

66
Linux kullanıyorsanız, +kayıt olmalısınız . Örneğin, üç satırı sistem panosuna kopyalamak istiyorsanız, gibi komutları kullanın v3j"+yve sonra bunları başka bir uygulamaya daha başka bir VIM'e yapıştırabilirsiniz. *Linux altında kayıt kullanmak yalnızca farklı VIM uygulamaları arasında kopyalayıp yapıştırabilir.
diabloneo

6
Linux'ta, * register harici olarak kopyalamak ve yapıştırmak için çalışmaz.
weberc2

11
weberc2 ve diabloneo, * kaydı seçim panosu içindir, orta tıklamayla erişilebilir, menü macunu veya ^ V
Jim Keener

354

Mac OSX'te

  • seçili parçayı kopyala: metni görsel olarak seç (tür vveya Vnormal modda) ve yaz:w !pbcopy

  • tüm dosyayı kopyala :%w !pbcopy

  • panodan yapıştır :r !pbpaste

On en Linux dağıtımlarının sen yerini alabilir:

  • pbcopyyukarıda xclip -i -sel cveya ilexsel -i -b
  • pbpastexclip -o -sel -cveya xsel -o -b
    - Not kullanarak : Bu araçların ( xselve xclip) hiçbirinin dağıtımınıza önceden yüklenmemiş olması durumunda, büyük olasılıkla depolarda bulabilirsiniz

1
+1 Lion ile birlikte çalışıyor, ancak vim --versiongösteriyor-clipboard
roplacebo

26
mavericks osx ile birlikte gelen vim ile uyumludur. senin .vimrc eklemek vnoremap <C-c> :w !pbcopy<CR><CR> noremap <C-v> :r !pbpaste<CR><CR>Eğer, görsel modunda vurgulamak metni kopyalamak istediğiniz ve kopya için Ctrl-c vurursan, bu eşleştirmeyi kullanın. Sistem panosundan yapıştırmak için Ctrl-v tuşuna basın.
davidtingsu

7
Linux üzerinde bu ile çalışır: w! Xclip -sel c veya: w! Xsel -b
trve.fa7ad

4
Linux Ctrl + C için copy: in ~ / .vimrc ekleyin:vnoremap <C-C> :w !xclip -i -sel c<CR><CR>
andy

3
Kabul edilenden çok daha yararlı bir cevap. Teşekkür ederim!
Bryce Johnson

165

Vimrc dosyanızda kopyalama ve yapıştırma için sistem panosunu otomatik olarak kullanmayı belirtebilirsiniz.

Windows setinde:

set clipboard=unnamed

Linux setinde (sürüm 7.3.74+):

set clipboard=unnamedplus

NOT: Bunların çalışması için Vim'in güncel bir sürümünü kullanmanız gerekebilir.

http://vim.wikia.com/wiki/Accessing_the_system_clipboard


39
Notunuza ek olarak - bunun işe yaraması için ekstra paketler de yüklemeniz gerekebilir. Vim'inizde +xterm_clipboardözellik yoksa (çalıştırdığınızda görünür vim --version). Benim için durum buydu (Kubuntu 12.10'u çalıştırıyorum). vim-gui-commonDoğru işlevselliği elde etmek için paketi yüklemem gerekiyordu.
Jacob Dalton

4
set clipboard=unnamedMac OS 10.11.6'da (El Capitan) vim 7.4 ile çalışıyor
Purplejacket

1. Sürükle kopyala 2. fare seçimi, Mac Sierra-10.12.6 ve vim sürümünde çalışır: 8.0.1800 ~ / .vimrc dosyasında set mouse=vveset clipboard=unnamed
dkb 10:03 '

set clipboard=unnamedMacOS Catalina
Diego Somar

Cevabınızı güncellemek isteyebilirsiniz. Vim 8.0 ile Ubuntu 18.04 üzerinde çalışmaz.
Luís de Sousa

124

Kayıt kullanın "+sistem panoya kopyalama (yani etmek "+yyerine y).

Aynı şekilde "+, sistem panosundan metin almak için yapıştırabilirsiniz (örn. "+pYerine p).


"* Kullanıyorum, ancak X'de sadece bir fark var gibi görünüyor.
dash-tom-bang

3
@ çizgi-tom-patlama: +/ *fark SELECTIONvs PRIMARY(ki atm hatırlamıyorum) kopyalama tamponlar
Daenyth

2
Evet yıldız seçim, artı pano.
dash-tom-bang

6
Çift tırnak karakteri vi ve vim'de kayıt seçici olarak işlev görür.
Amardeep AC9MF

1
Hatırlanması gereken iki kısayol kümesi: "+yy(satırı panoya "+yykopyala ) ve (satırı seçime kopyala); "+p(panodan yapıştır) ve "*p(seçimden yapıştır). "varsayılan olarak vim'in kendi dahili kaydı olan kaydı seçmektir ( herhangi bir kayıt türüne başvurmadan çalışacak yyve pçalışacak ). PS: Acaba Vim'in kendi iç kaydı için bir karakter var mı ? "&yyyy

72

@ Jacob Dalton bir yorumda bundan bahsetti, ancak hiç kimse bir cevapta vim'in burada çalışmak için belirtilen önerilerin herhangi biri için pano desteği ile derlenmesi gerektiğini söylememiş gibi görünüyor. Mine varsayılan olarak Mac OS X'te bu şekilde yapılandırılmadı ve vim'i yeniden oluşturmak zorunda kaldım. Elinizde olup olmadığını öğrenmek için bu komutu kullanın vim --version | grep 'clipboard'. +clipboardiyi olduğunuz anlamına gelir ve buradaki öneriler sizin için işe yarar, -clipboardvim'i yeniden derlemeniz ve yeniden oluşturmanız gerekir.


15
Veya kendinizi derlemek yerine, pano desteği ile oluşturulmuş bir vim paketi yükleyebilirsiniz. OS X'te, Homebrew bu vardır: brew install vim. Ubuntu'da kullanabilirsiniz sudo apt-get install vim-gnome. Diğer (GNOME olmayan) Linux dağıtımlarında vim-gtkveya yüklemeyi tercih edebilirsiniz vim-athena.
Neil Traft

3
Arch Linux I sayesinde, kaldırmak zorunda vimve yüklemek gvim wiki.archlinux.org/index.php/Vim#Installation
michalzuber

Cevaplarınız yank'ın pano ile neden çalışmadığını açıklıyor, sadece bilgilerinizle daha iyi bir google arama yapabilir ve kolayca çalıştırabilirim. Ve şimdi çalışıyor. İnsanların google arama yapmasına gerek kalmaması için cevabınıza @NeilTraft yorumu da eklemeniz daha iyi olur.
Yana Agun Siswanto

Mac'te .vimrc'e brew install vimekledikten hemen sonra set clipboard=unnamed. source ~/.vimrcKomut satırında çalıştırın . .Bash_profile içine ekledikten alias vim="/usr/local/bin/vim"sonra çalıştırın source ~/.bash_profile. Şimdi vim sadece kullanmak yve pkopyalamak / yapıştırmak için
Dmitry

59

Özetlemek ve yeni başlayanlar için kolaylaştırmak,

Geçerli satırı kopyalamak için komut modunda şunu yazın:

"*yy

Tüm dosyayı / arabelleği kopyalamak için komut modunda önce başlangıcına gidin gg, ardından yazın

"*yG

Belirtildiği gibi, bu gerektirdiği +clipboarddışında vim --version, pano desteği kullanılabilirliğini göstermektedir ki, -clipboardhayır demek.


1
"*5yy5 lines yankedama panoda hiçbir şey yok diyor ? OS / X.
javadba

2
Evet doğruladım + clipboard
javadba

nnoremap <leader>c "* içinde .vimrcbir tür "kopya" olarak iyi çalışır, ardından OS panonuza kopyalamak istediğiniz metin nesnesini kapmak için bir hareket.
cpk

Teşekkürler, tam olarak ihtiyacım olan şekilde açıkladın.
Symen Timmermans

3
Ben yüklü vim-gtkçevirmek -clipboardiçine +clipboarddaha "+yyçalışıyor.
Lai32290

30

MAC OSX'te vim kullanıyorsanız, maalesef eski sürümle birlikte gelir ve pano seçeneklerine uymaz. Neyse ki, homebrew bu sorunu kolayca çözebilir.

vim yükleyin:

brew install vim

vim gui verion yükleyin:

brew install macvim

etkili olması için terminali yeniden başlatın.


~ / .vimrc dizinine aşağıdaki satırı ekleyin
set clipboard=unnamed

şimdi satırı vim ile yykopyalayıp sistem çapında yapıştırabilirsiniz.



Güncellenmiş Yöntem :

Yıllarca set pano yönteminden hiç memnun kalmadım. En büyük dezavantajı, xsilmek için kullandığınızda bile pano geçmişinizi bozmasıdır. İşte daha iyi ve daha zarif bir çözüm.

  1. Vim metnini [aralık] sistem panosuna kopyalayın. (İpucu: önce aralığı seçmek için vveya Vdüğmesini kullanın ve ardından :Ex komutunu etkinleştirmek için iki nokta üst üste yazın):
    :[line-range]yank +
    örn.,
    :5,10y * (5-10 satırlarını sistem panosu *kaydına kopyala / kopyala )

  2. İçeriği sistem panosundan yeni bir satırdaki vim'e yapıştırın:
    :put +

Not:

  1. Bir kelime aralığı seçerseniz, yukarıdaki çalışmaz. bu görsel bloğu panoya kaydetmek için "* y veya " + y kullanın. Ancak bunu yazmak zor, hala alternatifleri düşünüyorum.
  2. : yardım "* veya : yardım * + daha fazla bilgi için
  3. brew info vimvim kurulumu için diğer seçenekleri görebilecektir. Şimdilik başka seçeneği yok.

--with-override-system-vimolmalı--with-override-system-vi
maffo

Minimum sistemlere çok sayıda Xorg malzemesi yüklemekten kaçınmak için bunu denemek istiyorum, ancak bir şey eksik. V modunu seçtikten sonra ":" değil "editör komutu [range] yank +" alıyorum.
jeremyjjbrown

29

Ubuntu için - Temmuz 2018

Sistem panosuna kopyalamak için "+ kaydını kullanın (örn. Y yerine " + y ).

Aynı şekilde , sistem panosundan metin almak için "+" dan yapıştırabilirsiniz (örn. P yerine "+ p ).

Ayrıca vim'in pano desteği ile derlendiğinden emin olmalısınız. Deneyin:

vim --version | grep .xterm_clipboard -o 

o ise ve -xterm_clipboard (eksi önek) o zaman do not destek var.

İşte pano desteği olan vim'in çalışan bir sürümü ile takas etmek için bazı talimatlar.

  • $ sudo uygun-get tasfiye vim
  • $ sudo apt-get autoremove (herhangi bir yabancı vim bağımlılığı paketini sistemden kaldırır)
  • $ sudo apt-get install Instagram Hesabındaki Resim ve Videoları vim-gnome

Tekrar kontrol edin vim --version | grep .xterm_clipboard -ove panonun artık kullanılabilir olduğunu onaylayabilirsiniz (örn. + Xterm_clipboard )

İyi şanslar.


3
Sen benim günümü ya da belki benim ayımı yaptın. Ubuntu'da yıllarca panosuz vim ile uğraştıktan sonra, bu inanılmaz bir duygu. arcseldon, teşekkür ederim !!
evanrmurphy

Hangi yukarıda anlatılan Ayrıca, ben koymak zorunda set clipboard=unnamedplusbenim de .vimrcişe yank için dosyanın. Ubuntu 18.04 kullanıyorum.
Elijah

23

Panomun sistemine kopyalayamadım çünkü ~ / .vimrc dosyamda bu vardı:

 if has('mouse')
   set mouse=a
 endif

Ancak bu satırı daha sonra eklerseniz , panonuza seçtiğinizi almak için Ctrl+ işaretinec izin verir .

vmap <C-c> "+y

Orijinal tartışma ve daha fazla ayrıntı: Set mouse = a özellikli metni vim'den kopyala


3
Satırı .vimrc'ime eklemedim, ancak sağladığınız bağlantı çok faydalı oldu. Vim'de metin seçerken ÜST KARAKTER tuşunu basılı tutarsanız, metni görsel moda girmeden kopyalayabilirsiniz. Yani teşekkürler ve +1.
Stefan van den Akker

Vardiya hilesi ihtiyacım olan şey. Sorgudayken kopyalamak için Ctrl + Shift + c kullanan terminatör gibi editörlerle de çalışır, ilk başta denediğim şey budur. Vim ile yüklü -xterm_clipboard'um var.
Anders Elmgren

18

benim için çözüm pano seçeneği dahil ek vim yüklemek oldu: 

sudo apt-get install vim-gnome

3
Ubuntu 16.04 için yapmam gereken buydu. Diğer önerileri başarılı olmadan denedim. Bu en kolay olanıydı ve beklediğimi yaptım "+ y.
Steven Eckhoff

Herhangi bir vimrc değişikliği olmadan bir cazibe gibi çalışır! Ubuntu
16.04'te

"+yÖneri sadece çalıştı vim-gnome. Linux Mint Kullanımı 18.2.
Samaursa

14

GVim kullanıyorsanız, bunu da yapabilirsiniz set guioptions+=a. Bu, görsel modda vurguladığınız metin panosuna otomatik kopyalamayı tetikler.
Dezavantajı: Gelişmiş pano yöneticilerinin (geçmişle birlikte) bu durumda tüm seçim geçmişinizi alacağını unutmayın…


13

Cevapları burada bulabilirsiniz Arch Wiki

Linux için: Öncelikle, vim sürümünüzde Pano'yu yükleyerek etkinleştirmeniz gerekir. gvim .


Sonra bu satırı .vimrcdosyanıza koymalısınız .

set clipboard=unnamedplus


+1, bu adımın artık gerekli olduğuna şaşırdı. Önceki Arch kurulumumda bunu yapmak zorunda değildim.
Konstantinos

Ubuntu 18.04 için de çalıştı ve tmux'da çalıştı. Teşekkürler!
James Klein

10

Vim'iniz +xterm_clipboardDebian'da varsayılan olarak olduğu gibi seçenek olmadan derlenirse ve sanırım Ubuntu, seçimi veya tüm arabelleği masaüstü panosunu işleyen harici programa bağlayabilirsiniz. xclip( Daha önce yüklemeniz gerekebilir) için, komut:w !xclip -sel clip


1
Bunun için teşekkürler - Ubuntu benim için çalışmadı (bu yüzden Ubuntu tahminin doğru olduğunu onaylamak) çağlar için ve neden bilmiyordum. Şimdi -xterm_clipboardgösterilen bayraklarda görebiliyorum vim --version.
jamesc

: Bu bana pano desteği iyi kaynağı bulmak yardımcı vimcasts.org/blog/2013/11/getting-vim-with-clipboard-support
JamesC

9

Sadece ubuntu terminali altındaki vim'de,

shift + drag mousevim'de bir metin seçmek için tuşuna basın sonra ctrl + shift + cterminalde

sonra ctrl + vdiğer editörlerde


3
Bu, yalnızca vim'de görsel olanı seçmek için çalışır, tüm dosyayı seçmek isterseniz ne olur?
Gerep

@ Bu yöntem tüm dosya seçimi için çalışmaz. yalnızca vim terminalinde ve terminal ekranında metnin görüntülendiği bir bölümün seçilmesi iyidir.
Supawat Pusavanno

1
Bu, satır numaralarını, ayırmaların arabellek sınırlarını ve yalnızca metin / kod yerine görünür olanları kopyalar.
Zelphir Kaltstahl

9

Xclip'iniz varsa panoya metin kopyalamanın kolay bir yolu aşağıdaki gibidir:

  1. Kopyalamak istediğiniz metin. ( yvanilya vim'de komut)
  2. Yazın :call system("xclip -selection clipboard", @")

:call system()bir terminal komutu çalıştırır. Birincisi komut, ikincisi o komuta yöneltilecek iki argüman alır. Örneğin:echom system("head -1", "Hello\nWorld") , Merhaba döndürür (bazı dolgularla). echom bir komutun çıktısını döndürür, çağrı yapmaz.

xclip -selection clipboard metni varsayılan X panosunun aksine sistem panosuna kopyalar (ortadaki moue düğmesi ile erişilir).

@"en son çekilen metni döndürür. "varsayılan kayıttır, ancak herhangi bir kaydı kullanabilirsiniz. Tüm kayıtların içeriğini görmek için yazın :registers.


2
Bu daha sağlamdır, vim pano ve herhangi bir işletim sistemi desteğine uyulmadığında bile çalışır. Örneğin, Mac'te çalıştırın :call system("pbcopy",@"). Bu komutu bir anahtara bağlayabilirsiniz.
ilija139

iyi çalışıyor, ama benim vimrc içine koyabilir miyim, işe yarayacak mı. Benim için çalışmıyor.
thenakulchawla

4

Belki birisi bunu faydalı bulabilir. X panosundan bağımsız kalmak ve hala çalışan iki vizon arasında bazı metinleri kopyalayıp yapıştırmak istedim. Bu küçük kod, seçilen metni kopyalamak için temp.txt dosyasına kaydeder. Aşağıdaki kodu .vimrc'nize ekleyin. İşi yapmak için CTRL-c CTRL-v kullanın.

vnoremap: w! cp / dev / null ~ / temp.txt && cat> ~ / temp.txt

noremap: r! cat ~ / temp.txt


4
  1. Put set clipboard=unnamedSepetinde vimrc.
  2. VisualModda kopyalamak istediğiniz şeyi seçin (Girmek için v tuşuna basın).
  3. NormalModa geri dönme (Esc tuşuna basın [esc]), kopyalamak için y tuşuna basın.
  4. İşletim sisteminin panosundan bir şey yapıştırmak istiyorsanız Vim Normalmodunda p / P düğmesine basın .

4

Ben bir Vim newby'yim, ancak tüm metni sistem panosuna kopyalamak (örneğin bir kelime işlemciye veya gedit, mousepad vb ... gibi başka bir metin düzenleyicisine normal modda yapıştırmak istiyorsanız):

ggVGy

veya daha basit:

:% Y

Önerildiği gibi, vim-gtk'i de yükledim ve

panoyu ayarla = isimsizplus

benim .vimrc

ve her şey yolunda gidiyor

Metnin yalnızca bir bölümünü kopyalamak istiyorsanız, görsel modu (v) kullanın, kopyalamak istediğiniz metni seçin ve y tuşuna basın .

Son olarak Clipman (favorim), Clipit, Parcellite veya benzeri bir pano programı öneriyorum.

(Debian Stretch Xfce'de vim 8.0 kullanıyorum)

İNGİLİZCE İÇİN beni affet! :-)


4

Bu cevap MAC kullanıcılarına özeldir.

MAC ile kullanılabilen varsayılan VIM, pano seçeneği etkinken gelmez. Sistem panosuna erişmek için bu seçeneğe ihtiyacınız vardır.

Vim'inizde bu seçeneğin etkin olup olmadığını kontrol etmek için aşağıdaki komutu kullanın

vim --version

Sonuç olarak, sahip olmalısınız +clipboard. Öyleyse-clipboard , VIM'inizin sistem panosuna erişme seçeneği yoktur.

İhtiyacınız olan seçenekle VIM'inizi YAPMALI ve kurmalısınız. Komutlar aşağıdadır.

# Create the directories you need
$ sudo mkdir -p /opt/local/bin
# Download, compile, and install the latest Vim
$ cd ~
$ git clone https://github.com/vim/vim.git
$ cd vim
$ ./configure --prefix=/opt/local
$ make
$ sudo make install
# Add the binary to your path, ahead of /usr/bin
$ echo 'PATH=/opt/local/bin:$PATH' >> ~/.bash_profile
# Reload bash_profile so the changes take effect in this window
$ source ~/.bash_profile"

Yukarıda seçenek +clipboardetkinken en son VIM yüklenecektir .

Şimdi sistem panosunu ayarlamanız gerekiyor. Aşağıdaki satırı ekleyin~/.vimrc

set clipboard=unnamed

Şimdi metni sistem panosuna çekebilirsiniz. Aşağıdaki adımlar nasıl çekileceğini açıklar.

  1. Vim komut modunda press v, bu sizi VISUAL moduna geçirir.
  2. Kopyalamanız gereken metni veya satırları seçmek için imleci hareket ettirin.
  3. Press y, seçilen metni panoya kopyalar.
  4. Herhangi bir harici uygulamaya gidin ve CMD + vyapıştırın.

MACOS Pro'yu macOS Mojave ile kullanıyorum ve yukarıdaki çalışmalar çalışıyor.


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.


3

MacOsX'ta klavye kısayollarını kullanarak aylardır bu durumla mücadele ediyorum. Sorunun klavye şortu kullanmakla ilgili olmadığını biliyorum. Ancak bu, aynı endişeye sahip birine yardımcı olabilir.

İşaretini kaldırırsanız:

Görünüm -> Fare Raporlamaya İzin Ver

Terminal menüsünden kullanarak panoya kopyalayabilirsiniz.

command + c

tekrar.


2

.Vimrc dosyamda kopyaların çalışması için basit bir satır yazdım. Umarım bu birine yardımcı olur. Vim cihazım ne yazık ki Pano desteği ile yüklü değil, bu yüzden bu önerilerin hiçbiri benim için çalışmadı. Temel olarak, bu satırı .vimrc'nize yapıştırın:

map <C-c> y:e ~/clipsongzboard<CR>P:w !pbcopy<CR><CR>:bdelete!<CR>

Bu ne hakkında ayrıntıları okumak isterseniz, size bu konuda okuyabilir bloguma


1
Alıcı dikkat. Mac'te bunun garip etkileri var.
azatar

bu, talimat verildiği gibi kullanıldığında panoya hiçbir şey kopyalamıyor gibi görünüyor (linux ubuntu 16.04'te, pano desteği yok) ve bir vim oturumunda birden fazla dosya açılırsa, eylemlerin gerçekleştirildiği sekmeyi kapatır (görsel seçim ve Cc ).
calocedrus

2

Bazı uluslararası klavyelerde, almak için "+ tuşuna basmanız gerekebilir .Space"

Yani bu durumda "Space+yveya"Space*y


2

Vim için herhangi bir grafik arabirimi kullanmak istemiyorsanız ve sadece terminal emülatörüne bağlı kalmayı tercih ediyorsanız, bu soruna çok daha basit bir yaklaşım olabilir. Yank veya bunun gibi bir şey kullanmak yerine, önce kullandığınız terminalin belgelerine bakın. Aynı sorunla mücadele ediyorum (+ pano ve xclip vb. Kullanmaya çalışıyorum) ve sonunda terminal emülatörümde sadece shift tuşuna basıp kopyalamak istediğiniz metni seçmek için yeterli olduğu ortaya çıktı. Bu kadar. Oldukça basit ve yapılandırmayla uğraşmaya gerek yok. (Bu arada urxvt kullanıyorum).


1

OSX için, yukarıdaki 10342 cevapları açıkça anlaşıldığı gibi, vim'in pano özelliğini desteklediğinden emin olmanız gerekir, OSX ile önceden gönderilenin panoyu desteklemediğini ve çalıştırırsanız çalışacağını brew install vimsöyledi.

Vi çalıştırmanın, demlemeden yüklediğiniz sürümü değil, önceden yüklenmiş OSX sürümünü çalıştırmanızı sağlar.

Bunu aşmak için, vim komutumu OSX varsayılan olanına değil, demleme sürümüne taktım:

alias vim="/usr/local/Cellar/vim/8.0.1100_1/bin/vim"

ve şimdi ben altınım


1

Benim çözüm .vimrc için aşağıdaki satırı koymak oldu:

map <C-y> :w !xclip -sel c <CR><CR>

Komut dosyası, Ctrl + y tuşlarını kullanarak seçilen satırı (görsel mod aracılığıyla) veya dosya içeriğini (seçili değilse) panoya kopyalar. Önemli olursa Manjaro Linux kullanıyorum.


1

Mac osx (10.15.3) kullanıyorum ve vim'de yeniyim. Bunu çok sinir bozucu buldum ve buradaki tüm cevaplar çok karmaşık ve / veya durumum için geçerli değildi. Bu çalışmayı 2 şekilde elde ettim:

  1. pbcopy kullanan anahtar eşleme : mac ile birlikte gelen vim'in eski sürümü üzerinde çalışır.

    vmap '' :w !pbcopy<CR><CR>~ / .Vimrc'inize ekleyin
    Şimdi ''panoya kopyalamak için görsel olarak seçebilir ve vurabilirsiniz (iki kesme işareti)

  2. Diğer cevaplarda en çok önerilen çözüme erişebilmem için daha yeni vim sürümünü yükleyin:

    brew install vim
    alias vim=/usr/local/bin/vim(bunu ~ / .bashrc veya eşdeğerinize eklemelisiniz)
    Artık "+yypanoya kopyalamak için görsel olarak seçebilir ve vurabilirsiniz


çok güzel bir çözüm!
ABD

0

selectingyardımı ile mouseve right-click copybenim durumumda çalıştı.

Satır numaralarının dahil edilmesini istemedim, bu yüzden daha :set nonumberönce copying.


nerdTree'de bunu nasıl yapabilirsiniz
ji-ruh

Bunun vim ile ilgisi yoktur ve sadece (X) panosuna terminal tabanlı bir kopyadır.
Carlo Wood

Emin değilim @ ji-ruh
Akash

0

Yukarıdaki hiçbir şey benim windows laptop benim için çalıştı.

Ctrl+ Ckopyalama için iyiydi .. ama yapıştırmak için Shift+ gerekli Insert!

( Insertİkincil bir tuşa basmadan her zaman erişilebilen bir dizüstü bilgisayar almak için her zaman iyi bir neden )


0

Shift+ Ctrl+ C Linux grafik modundaysanız, ancak önce neyi kopyalamanız gerektiğini seçmeniz gerekir.

resim açıklamasını buraya girin

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.