Notepad ++ 'da EOL dönüşümü


114

Bazı nedenlerden dolayı, Windows makinemde bir unix sunucusundan dosya açtığımda, bazen Macintosh EOL dönüşümü oluyor ve onları yeniden düzenlediğimde / kaydettiğimde unix sunucusunda düzgün çalışmıyorlar. Bu unix sunucusundaki dosyaları düzenlemek için yalnızca notepad ++ kullanıyorum, bu nedenle bir dosyayı her açtığımda EOL'yi otomatik olarak Unix biçimine dönüştüren bir makro oluşturmanın bir yolu var mı?



1
Sorununuz, kullandığınız FTP programıyla ilgili olabilir. Örneğin, bir Unix sunucusuna uzaktan kumanda etmek için WinSCP kullanıyorum, Notepad ++ varsayılan düzenleyicim olarak ayarlandı, ancak Binarysatır sonlarını korumak için WinSCP ayarlarına gitmem ve aktarım modunu olarak ayarlamam gerekiyordu. Dolayısıyla, dosyaları farklı bir şekilde aktarmak için FTP / SCP / etc programınızı yeniden yapılandırabilirsiniz.
Slicktrick

Yanıtlar:


200

Bu işlevsellik zaten Notepad ++ içinde yerleşiktir. "Düzenle" menüsünden, "EOL Dönüştürme" -> "UNIX / OSX Biçimi" ni seçin.

daha hızlı bulma seçeneğinin ekran görüntüsü (veya farklı dil sürümleri)

Notepad ++ 'da varsayılan EOL'yi "Ayarlar" -> "Tercihler" -> "Yeni Belge / Varsayılan Dizin" üzerinden de ayarlayabilir ve ardından Biçim kutusu altında "Unix / OSX" öğesini seçebilirsiniz.


7
Düzenleme menüsündeki dönüşümü biliyorum ve bahsettiğiniz ayarlar yalnızca yeni belgeler içindir. Açtığım her dosya (veya kaydettiğim her dosya) için dönüşümü otomatik olarak yapmak istiyorum
Jeff

Sorun, mevcut bir Unix dosyasını açtığımda, "EOL Dönüştürme" -> UNIX / OSX Biçiminin grileşmesidir. Notepad ++, UNIX dosyalarıyla kullanmak sinir bozucu, bu yüzden Tüm dosyaları yalnızca yenilerini değil, UNIX olarak kaydetmeme izin veren Notetab Lite kullanıyorum.
Off The Gold

3
@OffTheGold UNIX EOL seçeneği gri renkte görünüyor çünkü bu geçerli seçimdir.
blakeoft

Kesinlikle doğru. Kasım 2017'den Google aracılığıyla teşekkür ederiz.
SDsolar

Bu benim için çalışmıyor. "EOL Conversion -> Unix" i seçip duruyorum ama hiçbir şey yapmıyor. Menüye geri döndüm ve Windows'un grileşmiş (bu nedenle seçildi?) Seçeneği olduğunu görüyorum, bu yüzden Unix'e tekrar tıklıyorum. Hatta metnimin tamamını seçmeye çalıştım - sadece seçimde işe yaraması durumunda, sonra tekrar Unix'i seçtim. Yine de hiçbir şey yapmıyor.
Loduwijk

16

Notepad ++ 'da tümünü normal ifadeyle değiştir seçeneğini kullanın. Bu, menüdeki dönüştürme komutuna göre avantajlıdır, her bir dosyayı açmak veya n bırakmayı sürüklemek zorunda kalmadan tüm klasör üzerinde çalıştırabilirsiniz (birkaç yüz dosyada fark edilir şekilde yavaşlayacaktır), ayrıca dosya adı joker filtresi de ayarlayabilirsiniz.

(\r?\n)|(\r\n?)

için

\n

Bu, her olası satır sonlandırma deseniyle (tek \ r, \ n veya \ r \ n) tekrar \ n ile eşleşecektir. (Veya \ r \ n, Windows stiline dönüştürüyorsanız)

Birden fazla dosya üzerinde çalışmak için:

  • "Değiştir" sekmesinde "Tüm açık belgelerde Tümünü Değiştir" seçeneğini kullanın. Önce tüm dosyaları Notepad ++ 'a sürükleyip bırakmanız gerekecektir. Hangi dosya üzerinde çalışacağınız üzerinde kontrole sahip olmanız iyidir, ancak yüzlerce veya binlerce dosya varsa yavaş olabilir.
  • "Dosyalarda bul" sekmesindeki "Dosyalarda değiştir", seçtiğiniz dosya filtresine göre, örneğin, belirtilen bir dizin altında * .cpp * .cs.

Bu, a \ r \ n \ r \ n'nin tek bir \ n ile değiştirilmesi nedeniyle EOL'lerin kaybına neden olabilir. Bence.
Sunspawn

Notepad ++ 6.9.1'de çalıştığını onaylayın. İleriye doğru arama yapacaktır, bu nedenle geride kalanları tekrar tekrar değiştirmeyecektir.
Wappenull

Cevap olarak: "Bu, bir \ r \ n \ r \ n'nin tek bir \ n ile değiştirilmesi nedeniyle EOL'lerin kaybına neden olabilir" >> Kullandığı için | (veya) 2 olası grup arasında operatör.
Wappenull

3

Dosyaları "doğrudan" WinSCP'den açıyorum ve dosyaları Notepad ++ ile açıyorum Linux sunucumda ne yaparsam yapayım her zaman Mac formatında açılan bir php dosyam vardı :-(

Dosyayı indirip yerelden (Windows) açarsam Dos / Windows olarak açıldı .... hmmm

Çözüm, yerel dosyayı "UNIX / OSX Formatına" EOL-dönüştürmek, kaydetmek ve daha sonra yüklemekti.

Artık dosyayı doğrudan sunucudan açtığımda "Dos / Windows" olarak açılıyor :-)


1

Projenize bağlı olarak EditorConfig ( https://editorconfig.org/ ) kullanmayı düşünebilirsiniz . Zorunlu satır sonu olarak "lf" belirtebileceğiniz bir .editorconfig yükleyecek bir Notepad ++ eklentisi var.

Sadece kullanmaya başladım, ancak şimdiye kadar güzel ve üzerinde çalıştığım açık kaynak projeleri yıllardır .editorconfig dosyalarını içeriyor. "EOL Dönüşümü" ayarı değiştirilmedi, bu nedenle biraz kafa karıştırıcı olabilir, ancak "Görünüm> Sembolü Göster> Satır Sonunu Göster" ise, "EOL Dönüşümü" olduğunda bile CRLF yerine LF eklediğini görebilirsiniz. "ve alt alt köşe başka bir şeyi gösterir (örn. Windows (CR LF)).

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.