Linux'taki Vi: DOS formatındaki dosyalar için ^ M satır sonlarını göster


9

Solaris'te, Windows satır sonları olan vi'de bir dosya açarsanız, bu her satırın sonunda ^ M olarak görünür.

Linux'ta vi daha zeki ve Windows dosya biçimini anlıyor ve ^ M görüntülemiyor.

Linux vi'nin Solaris ile aynı şekilde davranmasını sağlayacak bir ayar var mı?

Bizim için yaygın bir sorun, bir kabuk betiğini bir (Windows) kutudan kopyalayıp dos2unix'i unutmak ve sonra düzgün çalışmadığında kafasını karıştırmaktır. Solaris'te, sorun sizin için en kısa sürede açıktır, ancak Linux'ta değil.

Teşekkürler.


Linux'ta vi Bram Moolenaar en genellikle vim , ben Solaris vi Bill Joy bekliyoruz vi otantik ancak daha az yetenekli, özgün,.
RedGrittyBrick

Benim önümde vim, varsayılan olarak genellikle hayır görüyorum ^M, ancak bazen dosyanın sonunda bir tane var.
trysis

Yanıtlar:


9

:set ffs=unixTüm CR karakterlerini göstermesi gereken vi (veya vimrc'de varsayılan olarak ayarlayın) başlatırken deneyin ^M.

vi, sadece LF'de veya her iki CR / LF'de biten çizgilerle karşılaşıp karşılaşmamasına bağlı olarak hangi formatın kullanılacağını otomatik olarak tahmin eder.


1
@RedGrittyBrick - Benim sistemde, :set listgösterir $böylece ikisi arasında bir ayrım yardımcı olmuyor, tüm hatlar (Unix & DOS biçimi) sonunda.
sss

@Sss: Benim hatam, yorumu sileceğim.
RedGrittyBrick

2
@gman - bu komut tam olarak benim için işe yaramadı - anladım Not an editor command: ffs=unix- ama beni doğru yola koydu. Vi'de :set ffs=unixdosya açıkken çalıştırılmak işe yaramadı - hata yok ama hiçbir şey olmadı. set ffs=unix.Vimrc dosyama koydum ve işe yaradı.
sss

Ben @sss tam olarak aynı şeyi yaşadı
SSH Bu

Böylece dikkatlice hazırlanan kullanıcı konfigürasyonunu bozar. Muhtemelen ffstam olarak bu şekilde istiyorum . Fakat @wisbucky'nin cevabına bakınız.
çatal0

2

Geçerli dosyanın dos satırı sonlarını göstermek için:

:e +ff=unix

Bu, dosya biçimini unix'e zorlar CR;^M


Bu ayarı kalıcı hale getirmek için şunu ekleyin ~/.vimrc:

set ffs=unix

.Vimrc ayarının ffsdeğil olduğuna dikkat edin ff.


Bu olmalı :e ++ff=unix, inanıyorum.
fork0
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.