Üzerinde çalıştığınız dosyayı yeni bir dosya olarak nasıl kaydedersiniz?


10

Orijinalin üzerine yazmadan önce bir dosyadaki değişiklikleri test etmek istediğim zamanlar var. Yeni bir dosyada düzenlenmekte olan bir dosyayı kaydetmenin herhangi bir yolu var mı?


Konu dışı cevap bir VCS önermek olacaktır. Örneğin git'in dizini yararlı olabilir
johannes

Yanıtlar:


18

Farklı bir dosyaya kaydetmek için :wveya :writekomutuna bir parametre verebilirsiniz . Örneğin, geçerli arabelleği şu konuma kaydetmek için /tmp/data.txt:

:w /tmp/data.txt

Ancak, bunun arabelleğinizi diğer dosyaya geçirmediğini unutmayın. Düzenlemeye devam ederseniz ve bunu yaparsanız :w, bu geçerli dosyaya kaydedilir, diğerine değil. Diğer dosyaya geçmek için şu :editkomutu kullanın:

:e /tmp/data.txt

Bunu bir adım yapmak için başka bir dosyaya kaydedin ve bu dosyaya geçin, şu :saveaskomutu kullanın:

:sav /tmp/data.txt

5

Vim, :set backupveya tarafından etkinleştirilebilen bir "yedekleme modu" na sahiptir :set patchmode. Bu modda, Vim otomatik olarak yazdığınız dosyaların yedek bir kopyasını tutar.

Örneğin, sorun çıkarırsanız :set patchmode=.origve mevcut bir dosyayı düzenlerseniz somefile.txt, :wnormal olarak yayınladığınızda , Vim eski dosyanın bir kopyasını farklı tutar somefile.txt.origve yeni içerikleri farklı olarak kaydeder somefile.txt.



0

Komutta yeni bir dosyayolu belirtmeniz yeterlidir :w-:w newfile.foo

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.