vi / vim, yeni bir dosyaya nasıl birkaç satır yazabilirim


Yanıtlar:


44

Yapabilirsin

:100,200w filename

Tabii ki 100,200 yazmak istediğiniz satırların aralığıdır.


Adresler kapsayıcı mı yoksa özel mi?
Marcin

3
Dahil. Ayrıca, örüntüler kullanıyorsanız:: / ^ bir şey /, / ^ else / w dosya adı veya işaretleri: 'a,' bw dosyaadı 'a' ve 'b' ile işaretli satırları içerir.
Bruce Ediger,

Merhaba @ Bernhard, peki geçerli dosyadan satır kesmek istersem.
Ravi Sevta

19

En genel:

  1. İmleci, yazmak istediğiniz grubun ilk satırına getirin. Vur m ve asırayla. Bu, "a" isimli işaret koydu ".

  2. İmleci grubun son satırına getirin, 'm' ve 'b' tuşlarına basın.

  3. Komut modu isabetine geç: bir sıra olarak :'a,'b w filenamesonra geri dönüşe bas.

Bu vi, nvi ve vim'de çalışacak.

Başka bir yöntem, daha modern bir çerçevede çalışır:

  1. İmleci, yazmak istediğiniz satır grubunun ilk satırına getirin. Hit V"çizgilerin görsel bloğunu başlatmak" için.

  2. İmleci, çizgiler grubunun altına getirin. Vim her satırda ters video ile vurgulayacaktır.

  3. Yaz. Hit :komut satırı moduna geçmek için. Bu, size benzeyen scren altındaki bir bilgi istemi verecektir: :'<,'> Bu, görsel bloğun başlangıcından sonuna kadar anlamına gelir. Yazın wve dosya adı ve isabet dönüş.

İmlecinizi yazmak istediğiniz satırın üzerine yazıp ardından: 'a :.w >> filenamebasarak imleci, dosyanın sonuna sonuna kadar tek satırlar ekleyebilirsiniz .

"Satır grubu yaz" komutları ayrıca sadece "dosyaadı" yerine ">> dosyaadı" ile de çalışır. ">>", vi veya vim'in dosyaya eklemek yerine dosyaya eklenmesine neden olur.


8

Bernhard'ın cevabına eklemek için görsel modu kullanarak bir bölge de seçebilir ve ardından girebilirsiniz :w filename.


8

Yazmak istediğiniz satır numaralarını biliyorsanız, komut satırından yapabilirsiniz:

vim -c "100,200w new_file.txt" -c wq original_file.txt

1

küçük bir numara göreceli satır numarası kullanıyor. Örneğin:: + 0, + 99w dosyaismi sonraki 100 satıra dosya ismine yazar.


Orijinal dosyanın üzerine yazılmayacak mı? OP farklı bir dosyaya yazmak istiyor.
SabreWolfy

1
@ SabreWolfy Hayır; belki satır numaralarından sonra 'dosya ismini' kaçırdın. Sadece sürümünü test ettim ve işe yaradı.
Ekim'de
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.