it-swarm-tr.com

Vim'de tam bir satır çoğalt

Vim'deki bütün bir çizgiyi benzer şekilde nasıl kopyalarım? Ctrl+D IntelliJ IDEA/Resharper’da veya Ctrl+Alt+/ Eclipse

1492
sumek

yy veya Y satırı kopyalamak
veya
dd çizgiyi silmek (kesmek)

sonra

p kopyalanan veya silinen metni yapıştırmak için sonra geçerli satırı
veya
P kopyalanan veya silinen metni yapıştırmak için önce geçerli satırı

2555
Mark Biek

Normal mod: diğer cevaplara bakın.

Ör yol:

  • :t., satırı çoğaltacaktır,
  • :t 7, 7. satırdan sonra kopyalayacaktır,
  • :,+t0 geçerli ve sonraki satırı dosyanın başında kopyalar (,+, .,.+1 aralığı için eşanlamlıdır),
  • :1,t$, satırları baştan sona imleç konumuna kadar kopyalar (1,, 1,. aralığı için eşanlamlıdır).

Kopyalama yerine hareket etmeniz gerekiyorsa, :m yerine :t kullanın.

:g veya :v ile birleştirirseniz, bu gerçekten güçlü olabilir: 

  • :v/foo/m$, “foo” deseniyle eşleşmeyen tüm satırları dosyanın sonuna taşır.
  • :+,$g/^\s*class\s\+\i\+/t., imlecin hemen ardından class xxx formunun sonraki tüm satırlarını kopyalar.

Referans: :help range, :help :t, :help :g, :help :m ve :help :v

375
Benoit

YP veya Yp veya yyp.

279
Linulin

copy and paste in vim

Bundan daha kolay olamaz! Normal moddan:

yy

sonra yapıştırmak istediğiniz satıra gidin ve

p
229
Adam

yy

geçerli satırı silmeden açacak

dd

geçerli satırı silecek

p

put, önceki yöntemlerden herhangi biri tarafından yakalanan bir satır olacak

49
pjz

Bunu yap:

İlk, yy Geçerli satırı kopyalamak için p yapıştırmak.

38
Eric Z Beard

Başka bir yol istiyorsan :-)

"ayy bu, satırı a arabelleğinde saklar.

"ap, imleçe tampon a içeriğini koyacaktır.

Bu konuda birçok varyasyon var.

"a5yy bu 5 satırı tamponda saklar. a

bkz. http://www.vim.org/htmldoc/help.html Daha fazla eğlence için

38
Kwondri

yyp - "yippee" ile hatırla!

Aralarında sayı olan birden çok satır:

y7yp

37
theschmitzer

yyp - sonra yapıştır

yyP - önce yapıştır

22
yemu

Ekleme modundan son satırı tekrarlayan ve size tüm satırları içeren bir tamamlama penceresi getiren <C-x> <C-l> 'i de deneyebilirsiniz. Neredeyse <C-p> gibi çalışır

11
nikolavp

Başka bir seçenek ile gitmek olacaktır:

nmap <C-d> mzyyp`z

imleç pozisyonunu koruma avantajını sağlar.

11
Rook

Severim: Shift+v (hemen tüm çizgiyi seçmek ve isterseniz diğer çizgileri seçmenize izin vermek için), y, p

10
Gabe

Vi'yi tanımayan biri için, yukarıdan gelen bazı cevaplar, onu "önce ... sonra/sonra yapıştır" gibi ifadelerle yanlış yönlendirebilir. mevcut çizgi".
Aslında "yapıştırmak ... önce/sonra kürsör".

yy veya Y satırı kopyalamak
veya
dd çizgiyi silmek için

sonra

p Kopyalanan veya silinen metni yapıştırmak için sonra  kürsör
veya
P Kopyalanan veya silinen metni önce yapıştırmak için  kürsör


Daha fazla anahtar ciltlemesi için bu siteyi ziyaret edebilirsiniz: vi Tam Anahtar Bağlama Listesi

10
Michael

1 gotcha: Satırı koymak için "p" yi kullandığınızda, onu koyar, sonra, imlecinizin üzerinde bulunduğu satırı koyar, yani satırın arkasına satır eklemek istiyorsanız, yapma yeni satırı koymadan önce imleci bir satır aşağı hareket ettirin.

3
cori

Varsayılan yyp, ama ben bu yeniden bağlamayı bir yıldan beri kullanıyorum ve seviyorum:

" set Y to duplicate lines, works in visual mode as well. nnoremap Y yyp vnoremap Y y`>pgv

2
Chris Penner

Vi öğrenmeye başlayanlar için, tipik Windows GUI Editor imleç hareketi ve kısayol tuşlarına yan yana vi komutları listeleyerek vi'ye iyi bir giriş. Dahil olmak üzere tüm temel komutları listeler yy (kopya satırı) ve p (sonra yapıştır) veya P(önce yapıştır).

Windows Kullanıcıları için vi (Vim)

1
ap-osd

Partiye geç kaldığımı biliyorum, ama her neyse; Bu benim .vimrc içinde var:

nnoremap <C-d> :copy .<CR>
vnoremap <C-d> :copy '><CR>

:copy komutu sadece seçili satırı veya aralığı (her zaman tam satır) argümanı olarak verilen satır numarasının altına kopyalar.

Normal modda bunun yaptığı şey copy . bu satırı bu satırın hemen altına kopyala .

Ve görsel modda, seçimin başından seçimin sonuna kadar seçimin sonuna kadar '<,'> copy '> kopyalamaya dönüşür .

1
DarkWiiPlayer

Bir satırı çoğaltmak ve hemen Sublime'daki gibi, geçerli olanın altına yapıştırmak istiyorsanız, Ctrl+Shift+D, o zaman bunu .vimrc dosyanıza ekleyebilirsiniz.

imap <S-C-d> <Esc>Yp

0
jedi

Bu eşlemeyi kullanmayı seviyorum:

:nnoremap yp Yp

çünkü native YP komutuyla birlikte kullanılmasını sağlar.

0
yolenoyer