Çizgileri görmezden gelen not defteri [yinelenen]


36

Notepad.exe'de son zamanlarda Windows 7 altında açtığım çoğu belge, satır sonu yok ... her şey birlikte çalışıyor. Başka bir programdaki aynı belgeler, doğrudan Explorer'da önizlense bile, satır çizgilerini doğru şekilde gösterir. Bu birçok .info dosyalarında, .css, .js .. ile oluyor ama hepsi değil.

Unix satırının biten bir şeyle biten bir karakter kodlaması olduğunu tahmin ediyorum, ancak yapabileceğim bir şey olup olmadığını veya başka birinin de benzer bir deneyim yaşadığını ve notepad'in doğru çalışıp çalışmadığını merak ediyorum. Bazı kullanımlar için not defteri ++ / diğer metin editörlerine tercih ederim.


Bakınız stackoverflow.com/a/50241693/6309 : Not Defteri şu anda \ n özelliğini desteklemiyor (Windows 10, Q2 2018)
VonC

Yanıtlar:


45

Satır sonları var, ancak farklı işletim sistemleri satır sonları için farklı sekansları tanıyor.

Not defteri yalnızca CR, LF'yi (0x0d, 0x0a) tanırken, diğer kaynaklar yalnızca CR'yi veya yalnızca LF'yi kullanabilir.

Not Defteri'nin farklı davranmasını sağlayamazsınız, bu nedenle tek seçeneğiniz içeriğin Not Defteri için doğru sıraya sahip olduğundan emin olmaktır. Notepad'in bu kısıtlamaya sahip tek editör olduğunu unutmayın, bu nedenle içeriğiniz Not Defteri'nde çalışıyorsa, başka yerlerde de çalışacaktır.

Satır akışlarını düzeltmenin basit bir yolu, metni Word'e kopyalayıp yapıştırmak, ardından tekrar not defterine yapıştırmak ve satır akışları, CR, LF sekansına "düzeltilecek".


36
Aha! not defteri ditching biraz daha kolay olabilir gibi sesler; P
Damon

1
Kesinlikle (dolgu).
Paul

3
Bence bu yirmi yıllık sınırlamanın şimdiye dek düzeltilmemiş olması şaşırtıcı ...
Haroldo_OK

1
tek kelimeyle aç, kaydet, sonra not defteri ile aç ... kopyala-yapıştır gerekli değil
Gavin Palmer

2
İyi haber, teknoloji nihayet geliyor .
mkobit

9

Wordpad

Notepad ++ 'ya ve diğer metin editörlerine olan karşılığınız, tüm Windows sistemlerinin standart bir parçası değilse, Wordpad'i kullanın. Notepad gibi ilkel değil.

Wordpad, Unix satır sonları ile birlikte metin dosyalarını doğru bir şekilde okuyacak ve görüntüleyecektir.

Diğer

Hem gerçek metin editörlerinin ikisine de karşıysanız, notepad ++ muhtemelen iyi bir seçimdir.


gerçekten hızlı görüntüleme / düzenleme için benim w / notepad ++ benim aslında özellikle kapatmadığım sürece birden fazla belge açık tutar; sadece bu kullanım için doğru gelmiyor. Metin türü dosyalarını worpad ile yeniden ilişkilendirebilir ve menümde olduğundan emin olabilirim open with....
Damon

2
Bu yıllar sonra
okuyanlar

2
@ Baba, ben de bu davranıştan nefret ediyordum, ama onu etkisiz hale getirebilirsin. Eski oturumları yeniden açmamak için Notepad ++ 'ı yapılandırmanız yeterlidir. Ayarlar -> Tercihler -> Yedekle'ye gidin. "Bir sonraki açılış için mevcut oturumu hatırla" seçeneğinin işaretini kaldırın.
Bacon

Sorunun, metin düzenleyicisinin Windows ile bağlantıya geçmesini istemekle ilgili olmadığı kadar, Windows'un de en az bir tane düzgün metin editörü sağlamasını istemekle ilgili olmadığını söyleyebilirim. MS Word veya WordPad'i "metin editörleri" olarak saymazdım, çünkü bu araçların amacı metni düzenlemek yerine raporlar üretmektir. Metin mutlaka sayfalarla birlikte gelmez veya sayfalara sığdırmak zorunda değildir. Yine de 2018 ve Windows 10'da bunların hiçbirini bulamadım.
Patrik

5

Basit bir toplu komut dosyası yazabilirsiniz :

@ECHO OFF
TYPE %1 | FIND /V "" >%1.1
MOVE %1.1 %1 > NUL 2>&1
START "NOTEPAD" C:\WINDOWS\SYSTEM32\NOTEPAD.EXE %1
EXIT /B

Bunu notepad.batistediğiniz dizinde olduğu gibi kaydedin . Ardından, .info/ .css/ .jsdosyalarınızı Not Defteri ile açmak yerine, bu toplu iş komut dosyasını kullanarak açın. Tüm Unix satır sonlarını otomatik olarak DOS'a dönüştürecek ve dosyayı Not Defteri ile açacaktır.

Dezavantajları:

  • Programı her açtığınızda, dosyanın sonuna yeni bir satır ekler. ( @Mpag tarafından düzeltildi )
  • Bir Komut İstemi penceresi açar ( START4. satırda sabitlenir )
  • Dosyanın oluşturma tarihini geçerli tarihe değiştirir


Başka bir öneri. Kök sürücüsü olarak D ya da Windows dizini için WinNT olan çılgınları genelleştirmek için startçizgiyi değiştirin START "NOTEPAD" "%SystemRoot%\System32\NOTEPAD.EXE" %1.
mpag

@mpag Tabii, ancak cevabımı düzenleme gereği duymuyorum. Kök dizininin bulamadığı kadar bilgili olan herkes C:benden destek alamaz. C:DOS 1981’de çıktığından beri standart olmuştur.
MD XF

1
zaman damgalarını korumak için:mkdir %1.dir TYPE %1 | FIND /V "" >%1.dir\%1 robocopy . %1.dir %1 /copy:t >NUL 2>&1 move %1.dir\%1 . > NUL 2>&1 rmdir %1.dir
mpag

Ya da sadece kullanabilirsiniz bu önceden var olan programı.
mbomb007

4

Notepad ++ özellikle OP'de belirtildiği gibi, (en azından şimdi) altında gereken ayara sahiptir:

Düzen -> EOL Dönüşüm -> Windows Biçimi.


Notepad ++ 7.5.9 sürümü, seçeneklerin EOL Dönüşüm altında "Windows (CR LF)" adı vardır.
André M. Faria

3

Dosyada kullanılan satır sonu kodlaması türünü değiştirmeniz gerekir.

Linux'ta bunu sizin için yapabilen "unix2dos" adlı bir program var. Windows'un böyle bir programla gelip gelmediğinden emin değilim, ancak burada benzer bir program olduğu görülüyor: http://www.thefreecountry.com/tofrodos/

Vikipedi'de bu işlemle ilgili daha fazla bilgi var: http://en.wikipedia.org/wiki/Unix2dos . Değişikliği yapabilecek farklı komut satırı programlarından örnekler alabilirsiniz.


Sublime yüklediyseniz, View->Line endings -> Windowsüzerine yazmak üzere dosyayı seçip sonra kaydedebilirsiniz. Bu durumda unix satır sonları Windows formatına dönecektir. Bu kaydedilmiş dosyayı Not Defteri'nde açarsanız, satır sonlarını doğru gösterir.
Junior M,

1

Yapabileceğiniz başka bir şey: Dosyayı WordPad'de açın ve kaydedin. Satır sonlarını düzeltir. Bu en hızlı yöntemdir.


1

Unix satır sonları ile ilgili bir sorun olduğu doğru. Orada birkaç farklı satır sonları , ancak üç varyasyon en yaygın olanlardır:

  • "U + 000A HAT YEMİ" (LF): Unix, Linux, macOS, vb.
  • "U + 000D CARRIAGE RETURN" (CR): diğerleri arasında klasik macOS
  • "U + 000D CARRIAGE RETURN" ve ardından "U + 000A LINE FEED" (CRLF): Windows ve diğer Unix / IBM işletim sistemleri

Not Defteri'nin eski sürümleri yalnızca CRLF'yi tanır, ancak daha yeni sürümler CRLF, CR ve LF'yi destekler .

Not Defteri'nin eski sürümlerinde bu davranışı değiştirmek için herhangi bir ayar yoktur, ancak yeni sürümde eski davranışa geri dönebilirsiniz . Diğer ana programların çoğu üç satır sonuyla da bir süredir çalıştığından, içeriğiniz Not Defteri'nin eski sürümlerinde çalışıyorsa, başka yerlerde hemen hemen çalışması gerekir.

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.