Nasıl bütün bir çizgi çoğaltmak do um benzer şekilde Ctrl+ DIntelliJ IDEA / resharper veya Ctrl+ Alt+ ↑/ ↓in Eclipse ?
Yes Pkira. :)
Nasıl bütün bir çizgi çoğaltmak do um benzer şekilde Ctrl+ DIntelliJ IDEA / resharper veya Ctrl+ Alt+ ↑/ ↓in Eclipse ?
Yes Pkira. :)
Yanıtlar:
yyveya Y(anımsatıcı: çizgisini kopyalamak için y ank )
ya
ddkadar d elete hattını (bir benzeri, "kayıt" benzeri panoya bir içine silinen Ne Vim kopyalar kesme işlemi)
sonra
piçin p bu simge kopyalanan veya metin silinir sonra şimdiki hattına
veya
Phiç p bu simge kopyalanmış veya silinmiş metin önce akım hattı
Yiçin y$. (Uygun olarak Dve C,. (Ancak Vi uyumlu (kimse önemsiz hücreler))) da önerilmiştir O :help Y.
yjya yksen bir karakter bölüşmek yok, özellikle de. Artı, ykbir geriye sürümüdür 2yyyapamaz ve geriye ulaşmak için satır sayısını koyabilirsiniz y9jya y2k, vb .. Tek fark senin sayımı olmak zorunda olmasıdır n-1olmak üzere toplam n, çizgilerin ama kafası o kadar öğrenebilir neyse.
Normal mod: diğer cevaplara bakın.
Ör yol:
:t. satırı çoğaltır,:t 7 7. satırdan sonra kopyalar,:,+t0dosyanın başlangıcında geçerli ve sonraki satırı kopyalar ( ,+aralığın eşanlamlısıdır .,.+1),:1,t$satırları başlangıçtan sonuna kadar kopyalar ( 1,aralığın eş anlamlısıdır 1,.).Yerine kopyalamak taşımanız gerekirse, kullanmak :myerine :t.
:gVeya ile birleştirirseniz bu gerçekten güçlü olabilir :v:
:v/foo/m$ "foo" kalıbıyla eşleşmeyen tüm satırları dosyanın sonuna taşır.:+,$g/^\s*class\s\+\i\+/t.formun sonraki tüm satırlarını class xxximleçten hemen sonra kopyalar .Referans: :help range, :help :t, :help :g, :help :mve:help :v
:Görsel modda düğmesine bastığınızda , dönüştürülen '<,'>görsel seçimin çizgi aralığını önceden seçecek şekilde dönüştürülür. Yani, görsel modda, :t0satırları başlangıçta kopyalar.
:t.sorunun tam cevabıdır.
YPveya Ypveya yyp.
Ygenellikle y$(satırın sonuna kadar (mevcut imleç konumundan, satırın başlangıcından değil)) yank (kopyala) şeklinde yeniden eşleştirilir . Bu çizgide .vimrc::nnoremap Y y$
yyP

Bundan daha basit olamaz! Normal moddan:
yy
ardından yapıştırmak istediğiniz satıra gidin ve
p
yy
geçerli satırı silmeden çeker
dd
geçerli satırı silecek
p
olacak putbir çizgi, önceki yöntemlerden herhangi biri ile kaptı
Başka bir yol istiyorsanız:
"ayy: Bu satır arabelleğe kaydedilir a.
"ap: Bu arabellek içeriğini aimlece koyacaktır .
Bu konuda birçok varyasyon var.
"a5yy: Bu, 5 satırı arabellekte saklar a.
Daha fazla eğlence için bkz. " Vim yardım dosyaları .
yyp - "yippee" ile hatırla!
Aralarında sayı bulunan birden çok satır:
y7yp
:.,.+7 copy .+7: P
Seviyorum: Shift+ v(tüm satırı hemen seçmek ve isterseniz diğer satırları seçmenize izin vermek için), y, p
Ekleme modundan son satırı tekrarlayacak ve size tüm satırları içeren bir tamamlama penceresi getiren <Cx> <Cl> 'yi de deneyebilirsiniz. Neredeyse <Cp> gibi çalışıyor
Vi bilmeyen biri için, yukarıdan gelen bazı cevaplar onu " mevcut satırdan sonra / sonra yapıştır" gibi ifadelerle yanlış yönlendirebilir .
Aslında " imleçten sonra / sonra yapıştır ".
yyveya Ysatırı kopyalamak
veya
satırı
ddsilmek için
sonra
pKopyalanan veya silinmiş metni yapıştırmak sonra imleç
veya
Pkopyalanan veya silinen metni yapıştırmak önce imlecin
Daha fazla anahtar bağlama için bu siteyi ziyaret edebilirsiniz: vi Komple Anahtar Bağlama Listesi
Varsayılan yyp, ama bu yeniden hatırlatmayı bir yıldır kullanıyorum ve seviyorum:
" set Y to duplicate lines, works in visual mode as well.
nnoremap Y yyp
vnoremap Y y`>pgv
Partiye geç kaldığımı biliyorum, ama her neyse; Bunu benim .vimrc dosyamda var:
nnoremap <C-d> :copy .<CR>
vnoremap <C-d> :copy '><CR>
:copyKomut sadece kopya seçilen hattı veya hat sayısı, parametre olarak verilen aşağıdaki aralığı (her zaman bütün çizgiler).
Normal modda bunun yaptığı, copy . bu satırı bu satırın hemen altına kopyalamaktır .
Ve görsel modda '<,'> copy '> , seçimin başlangıcından seçimin sonuna kadar seçimin sonundaki çizgiye kopyalanır .
Vi öğrenmeye başlayanlar için, vi komutlarını tipik Windows GUI Düzenleyicisi imleç hareketi ve kısayol tuşlarına yan yana listeleyerek vi'ye iyi bir giriş. yy(Kopyala satırı) ve p(sonra yapıştır) veya P(önce yapıştır ) dahil tüm temel komutları listeler .
Bir satırı çoğaltmak ve Sublime Ctrl+ Shift+ 'da olduğu gibi hemen mevcut akımın altına yapıştırmak Distiyorsanız, bunu .vimrcdosyanıza ekleyebilirsiniz .
nmap <S-C-d> <Esc>Yp
Veya, Ekleme modu için:
imap <S-C-d> <Esc>Ypa
itekrar girmek için sonuna ekler undo, böylece ekleme modunda satırları çoğaltma çözümü göründüğü kadar önemsiz değildir.
imap <S-C-d> <Esc>Ypi ekleme modu ve nmap <S-C-d> <Esc>Ypnormal mod