İçeriği bir vi editör belgesine yapıştırmak için Ctrl+ kullanmaya çalıştım V, ancak Ctrl+ Vbir yapıştırma olarak yorumlanmadı.
İçeriği bir vi editör belgesine yapıştırmak için Ctrl+ kullanmaya çalıştım V, ancak Ctrl+ Vbir yapıştırma olarak yorumlanmadı.
Yanıtlar:
İlk önce, düzenleme modunda olduğunuzdan emin olun (düğmesine basın i). Ardından , gibi bir terminal emülatöründeyseniz (veya sağ tıklama menüsünden "Yapıştır" ı seçin) , Ctrl+ Shift+ ile yapıştırabilirsiniz.Vgnome-terminal
:set paste
Otomatik girinti, vb. Devre dışı bırakmak için yapıştırmadan önce vim yazabilirsiniz . Sonra :set nopaste
içeriği yapıştırdıktan sonra.
Ayrıca daha fazla bilgi için stackoverflow.com adresinde bu soruyu kontrol edin .
Satırları kopyalamak / yapıştırmak istiyorsanız vim
(pano içeriğinin yapıştırılmasının aksine), yank komutunu kontrol etmek istersiniz . İşte yardımcı olabilecek bir hile sayfası .
I
büyük / küçük harf duyarlıdır. Küçük harf i
, ekleme moduna girmenin normal yoludur. Capital I
, imleci satırın başına getirir ve daha sonra insert moduna girer.
Vi (ve Vim), Gedit gibi normal bir metin editörüyle karşılaştırıldığında çok farklı çalışır. Aynı zamanda oldukça dik bir öğrenme eğrisi vardır. Bazı temel komutları öğrenmek istiyorsanız, bu etkileşimli öğretici ile başlayın .
Ancak, size soruyu cevaplamak için. Sistem panosunun içeriğine artı kayıt yoluyla erişilebilir. Böylece sistem panosundan bir şeyi yapıştırmak için Normal moddan, şu tuşa basabilirsiniz: "+p(Aynı anda değil, arka arkaya).
vi
değilvim
set :paste
).
Eğer macun içeriğini kopyalamak istiyorsanız aynı dosya içinde , kullanımı yank
ve paste
.
Yapıştırma içeriğini terminaller arasında kopyalamak istiyorsanız , ilk dosyayı açın, istediğiniz metni söyleyerek açın, ardından ikinci dosyanızı vim (örneğin :tabnew /path/to/second/file
) içinde açın ve p
yapıştırmak için tuşuna basın .
Yapıştırma içeriğini vim'den harici bir programa kopyalamak istiyorsanız , sistem panosuna erişmeniz gerekir. Ubuntu kullandığını varsayıyorum. Vim'in GUI sürümü daima pano desteğine sahiptir, ancak Vim'i bir terminalden kullanmak isterseniz, X11-pano desteğini kontrol etmeniz gerekecektir.
Konsoldan şunu yazın:
$ vim --version | grep xterm
Eğer bulursanız -xterm_clipboard , iki seçeneğiniz vardır:
1) Üzerinde xterm_clipboard bayrağı bulunan vim kendinizi derleyin
2) Vim'i kaldırın, yerine gvim (vim-gtk veya vim-gnome) yükleyin . Daha önce yaptığınız gibi terminalden vim'i arayarak gui olmayan vim'e sadık kalabilirsiniz. Bu kez kontrol ettiğinizde + xterm_clipborad bulmalısınız .
Eğer bazı metin yank Şimdi, + senin vim editörü (örneğin "+ yy) içine kayıt, aynı zamanda kullanarak, gedit editörü gibi harici programından alabilirsiniz sistem panosuna kopyalanır Ctrl+ V.
Yapıştırma içeriğini harici bir programdan vim'e kopyalamak istiyorsanız, önce metninizi Ctrl+ ile sistem panosuna kopyalayın C, sonra vim editörü ekleme modunda , farenin orta düğmesini (genellikle tekerlek) veya yapıştırmak için Ctrl+ Shift+ düğmesine basın V.
Bunlar, vim ile ilgili 4 temel kopyala ve yapıştır koşuludur. Umarım bu yardımcı olur.
vim-gtk
sahip xterm_clipboard
destek ve Fedora üzerinde xvim
o vardır.
Terminale metin yapıştırmak istediğimde daima Shift+ Insertkullanırım, tüm terminal programlarında çalışır.
( Insertİkincil tuşa basmadan basamayacağınız bir dizüstü bilgisayarı asla alamamamın nedeni de budur )
Vi
/ Vim
! = terminal;)
Ctrl+A
, Ctrl+C
ayrıca?
Vi'ye girdikten sonra, i
ekleme moduna girmek için basın, terminale sağ tıklayın, yapıştır'a tıklayın.
i
. Büyük harf ne yapar I
?
i
. Büyük harf I
burada gerekmeyen ekleme moduna girmeden önce imleci satırın başına getirir.
Vi içindeki metin satırlarını kopyalamak / yapıştırmak için ayrıntılı talimatlar yank
veput
( vi komut modunda aşağıdakileri kullanın )
Kopyala (YANK)
Vi içindeki bir satırı kopyalamak için:
yy
ya da yazınY
Vi'de 2 satır kopyalamak için:
2yy
ya da yazın2Y
(aynı şekilde, herhangi bir sayıda satır kopyalanabilir)
Tüm satırları geçerli konumdan dosyanın sonuna kadar kopyalamak için:
yG
Tüm metni geçerli konumdan geçerli kelimenin sonuna kopyalamak için:
yw
Tüm metni geçerli konumdan satırın sonuna kadar kopyalamak için:
y$
Yapıştır (PUT)
Panoya metin yapıştırmak için - imlecin konumundan sonra :
p
Panoya metin yapıştırmak için - imlecin konumundan önce :
P
Benim Vim kurulum destekleyen değildi çünkü bir sorunu vardı panoya :
vim --version | grep clip
-clipboard +insert_expand +path_extra +user_commands
+emacs_tags -mouseshape +startuptime -xterm_clipboard
Vim-gnome'u yükledim (panoyu destekliyor) ve 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ırabilirim.
Linux veya Mac'te Vim 8+ ile, artık işletim sisteminin yerel macunu ( ctrl+shift+V
Linux'ta, cmd+V
Mac'ta) kullanabilirsiniz. i
Ekleme Modu için basmayın .
Otomatik panosunu eklemeden boşlukları ve sekmeleri koruyarak, işletim sisteminizin panosunun içeriğini yapıştıracaktır. Eski eşdeğerdir var :set paste
, i
, ctrl+shift+V
, esc
, :set nopaste
yöntemi.
Artık kurulu olan +clipboard
veya +xterm_clipboard
vim özelliklerine bile ihtiyacınız yok. Bu özelliğe "köşeli ayraç" adı verilir. Daha fazla ayrıntı için https://stackoverflow.com/questions/2514445/turning-off-auto-indent-when-pasting-text-into-vim/56781763#56781763
Eğer kökünüz : Ctrl+ Shift+V
Kök değilseniz : Fareyi ortalayın.
Windows'ta Git Bash kullanarak Vim kullanarak p
, fareyi ekleme kipine girmeden kullanıp orta tıklayabileceğinizi not etmek istedim . PuTTY üzerinden Vim'i kullanarak , sadece sağ tıklayabilirsiniz. Ve vurgulama kopyalama yapar.
Bunu not ettim, çünkü buraya bunun Ubuntu için SE olduğunu görmedim.
Diğer yardımcı komutlar:
Terminal sürüm vim'e yapıştırmak için Ctrl+ Shift+ kullanabilirsiniz V, ancak GUI sürüm vim Neovim-Qt
için sistem panosundan Ctrl+ Shift+ ile metin yapıştırmak Vişe yaramaz. Panoya "+
veya "*
vim editöründe erişmeniz gerekiyor .
Yeni anahtar ekleme .vimrc
, yalnızca kopyala / yapıştır komutlarını içerir:
" paste from system clipboard, align indentation with surroundings
noremap <Leader>p "*]p:set nopaste<CR>
" copy a sentence into system clipboard
noremap <Leader>y "+y)
vimtutor
45 dakika içinde kullanabileceğiniz yere kadar hızlanmanızı sağlar.