*
Vim'deki her satırın sonuna eklemek istiyorum .
Kodu başarısız bir şekilde denedim
:%s/\n/*\n/g
*
Vim'deki her satırın sonuna eklemek istiyorum .
Kodu başarısız bir şekilde denedim
:%s/\n/*\n/g
Yanıtlar:
:%s/$/\*/g
çalışmalı. Yani gerektiği :%s/$/*/g
şekilde MrWiggles doğru işaret ediyor.
g
bayrak gereksizdir.
Şundan bile daha kısa: arama komutu:
:%norm A*
Anlamı bu:
% = for every line
norm = type the following commands
A* = append '*' to the end of current line
I*
yerine 0i*
bir tuş vuruşu kaydedersiniz .
:
, bu daha :'<,'>
sonra içine girebileceğiniz komutu önceden dolduracaktır:'<,'>norm A*
I
bunun yerine kullanın -:%norm I*
Ayrıca:
:g/$/norm A*
Ayrıca:
gg<Ctrl-v>G$A*<Esc>
g
, global
eşleşen her satırda bir şeyler yapan komuttur. $
her satırla eşleşir. Ayrıca ^
veya olabilir .*
. norm, normalde komut modunda kullandığınız komutları yürütür. Yani satır sonuna A*
eklemek anlamına gelir *
.
Görsel blok modunu kullanmak, bu tür şeylerle başa çıkmak için daha iyi ve daha çok yönlü bir yöntemdir. İşte bir örnek:
This is the First line.
This is the second.
The third.
"Merhaba dünya" yı eklemek için. (boşluk + pano) bu satırların her birinin sonunda:
Sonuç:
This is the First line. Hello world.
This is the second. Hello world.
The third. Hello world.
( Vim.Wikia.com sitesinden örnek )
jj
Biri basmak yerine G
son satıra geçmek için vurabilirsiniz . Bu, j
son satıra kadar basmanın pratik olmadığı büyük dosyalarda kullanışlıdır.
g
Sonunda gerçekten ihtiyacınız yok . Böylece olur:
:%s/$/*
Ya da sadece *
sonunu istiyorsanız, 14-18 satırlarını söyleyin:
:14,18s/$/*
veya
:14,18norm A*
... ve her satırın başına * işaretini eklemek (başını eklemek)
%s/^/*/g
Bir seçenek:
:g/$/s//*
Bu, her hat ucu çapasını bulur ve onunla değiştirir *
. Ben "ikame" diyorum ama gerçekte, çapa normal bir karakterden ziyade özel bir şey olduğu için daha fazla bir ek. Daha fazla bilgi için, bkz. G'nin Gücü - Örnekler .
% S / \ n / * \ r / g
İlki başka bir yerde doğrudur, ancak Vim'in bir nedenden ötürü farklı yeni satır işlemlerine sahip olması gerekir.
:s///
,\n
bir boş karakter karşılık gelir. Bölüm:help sub-replace-special
önemlidir.