Vim neden DOS satır sonları ile dosya oluşturuyor?


15

Sahibim

set fileformat=unix

skinTenimde .vimrc, ama sanki bir dosya oluşturursanız vimo DOS formatlı dosyaları oluştururken devam (Cygwin çalıştıran) ve ben yoluyla yayınlamak zorunda dos2unixbunları temizlemek için. (Ben gerçekten yok sanırım var Git benim için temizler beri, ama ben özellikle Unix satır sonları kullanmak için talimat ettik Unix metin editörü, ekstra çöp onları kirletici olduğu ölümüne sadece rahatsız etmez beni .)

Bu neden olur? Nasıl düzeltebilirim? (Ve "düzeltme" ile yapmam değil tek tek her dosyayı dönüştürmek açmamı ortalama şey. Bu değil Çözüm şudur. Bu tamamen kırılmış budur.)


Bahse girerim bu bir cygwin problemidir. Cygwin'de çizgi bitiş stilini seçme seçeneği var, ancak aslında işe yaradığına dair bir kanıt görmedim. Üniversitem GNU derleyici koleksiyonu için Eclipse'yi cygwin ile kullanıyor ve tuhaf bir davranışla karşılaştım, getlinebu da cygwin'in garip bir şey yaptığı ortaya çıktı. CR+LFUnix yerine LFveya hatta dos stili ile sonuçlandı LF+CR. Cygwin'de, ancak YMMV'de hangi satır sonu stilini yapılandırdığınızı kontrol etmeli ve görmelisiniz. Ayrıca bkz. Cygwin.com/faq/faq-nochunks.html#faq.api.cr-lf
Matt

@Matt: DOS / Windows kullanmıyor CR+LF, kullanmıyor LF+CR.
echristopherson

İki kez kontrol etmediysem, takas etmemden korkuyordum, bu sorunu yaşadığımdan beri bir dönemden fazla kalmıştım. Cygwin'de çalışırken ve dos isteminde çalışırken satır sonları farklıydı ve DOS'tan beklediğinizden geriye doğru olduğuna ikna olduğumu hatırlıyorum, ancak görebildiğiniz gibi geçiş yapmam kolay.
Matt

Bu .vimrc dosyasının okunduğundan emin misiniz? Kasıtlı bir hata yapmayı deneyin ve vim'in onu alıp almadığını görün.
CVn

@ MichaelKjörling: evet, test ettim ve okunuyor. Hattımı yorumladım set numberve yürürlüğe girdi, uncommented ve yürürlüğe girdi. Ben de altına "blah blah blah" ekledim ve bir şey açtığımda "ENTER tuşuna basın veya devam etmek için command yazın" var, ama garip bir şekilde daha önce (siyah arka plan üzerinde siyah harfler olmadıkça) bir hata mesajı yoktu.
iconoclast

Yanıtlar:


21

fileformatBirkaç faktöre bağlı olarak sadece ayar yeterli olmayabilir. Bunu dene:

set fileformat=unix
set fileformats=unix,dos
"set nobinary

Bunların ne yaptığını anlamak için bir göz atın :help fileformatsvs.

Sanırım Windows vim.exetarafından sağlanan kullanarak, sorunları çoğaltmak mümkün git. Yukarıdaki ayarları kullanmak benim için sorunu çözdü. Örnekte set nobinaryyorumlanmıştır, çünkü ihtiyacınız olduğunu düşünmüyorum, daha fazla araştırmanız gerektiğinde yardımcı olabilecek bir ipucu olarak orada bıraktım.

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.