Nasıl bütün bir çizgi çoğaltmak do um benzer şekilde Ctrl+ DIntelliJ IDEA / resharper veya Ctrl+ Alt+ ↑/ ↓in Eclipse ?
Y
es P
kira. :)
Nasıl bütün bir çizgi çoğaltmak do um benzer şekilde Ctrl+ DIntelliJ IDEA / resharper veya Ctrl+ Alt+ ↑/ ↓in Eclipse ?
Y
es P
kira. :)
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ı
Y
için y$
. (Uygun olarak D
ve C
,. (Ancak Vi uyumlu (kimse önemsiz hücreler))) da önerilmiştir O :help Y
.
yj
ya yk
sen bir karakter bölüşmek yok, özellikle de. Artı, yk
bir geriye sürümüdür 2yy
yapamaz ve geriye ulaşmak için satır sayısını koyabilirsiniz y9j
ya y2k
, vb .. Tek fark senin sayımı olmak zorunda olmasıdır n-1
olmak ü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,:,+t0
dosyanı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 :m
yerine :t
.
:g
Veya 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 xxx
imleçten hemen sonra kopyalar .Referans: :help range
, :help :t
, :help :g
, :help :m
ve: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, :t0
satırları başlangıçta kopyalar.
:t.
sorunun tam cevabıdır.
YP
veya Yp
veya yyp
.
Y
genellikle 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 put
bir ç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 a
imlece 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>
:copy
Komut 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 .vimrc
dosyanıza ekleyebilirsiniz .
nmap <S-C-d> <Esc>Yp
Veya, Ekleme modu için:
imap <S-C-d> <Esc>Ypa
i
tekrar 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>Yp
normal mod