Notepad mengabaikan linebreak [duplikat]

36

Pertanyaan ini sudah ada jawabannya di sini:

Sebagian besar dokumen yang saya buka di notepad.exe di bawah windows 7 belakangan ini, tidak ada linebreak ... semuanya berjalan bersamaan. Dokumen yang sama di program lain, bahkan yang dipratinjau langsung di Explorer, akan menunjukkan linebreak dengan benar. ini terjadi dengan banyak file .info, .css, .js .. tetapi tidak semuanya.

Saya menduga itu semacam pengkodean karakter unix line endings sesuatu atau yang lain, tetapi bertanya-tanya apakah ada yang bisa saya lakukan atau apakah ada orang lain yang mengalami hal serupa dan apakah saya dapat membuat notepad berfungsi dengan benar. Saya lebih suka notepad ++ / editor teks lainnya untuk penggunaan tertentu.

Damon
sumber
Lihat stackoverflow.com/a/50241693/6309 : Notepad sekarang mendukung \ n sekarang (Windows 10, Q2 2018)
VonC

Jawaban:

45

Ada jeda baris, namun sistem operasi yang berbeda mengenali urutan berbeda untuk jeda baris.

Notepad hanya mengenali CR, LF (0x0d, 0x0a), sedangkan sumber lain mungkin hanya menggunakan CR, atau LF saja.

Anda tidak dapat membuat Notepad berperilaku berbeda, jadi satu-satunya pilihan Anda adalah memastikan konten memiliki urutan yang tepat untuk Notepad. Perhatikan bahwa notepad adalah satu-satunya editor dengan batasan ini, jadi jika konten Anda berfungsi di Notepad, itu akan berfungsi di tempat lain.

Salah satu cara sederhana untuk memperbaiki feed-line adalah dengan menyalin dan menempelkan teks ke Word, lalu kembali lagi ke notepad, dan feed-line akan "diperbaiki" ke urutan CR, LF.

Paul
sumber
36
aha! kedengarannya agak seperti menabur notepad mungkin jauh lebih mudah; P
Damon
1
Tentu saja (padding).
Paul
3
Saya pikir itu benar-benar membingungkan bahwa batasan berusia dua puluh tahun ini belum pernah diperbaiki ...
Haroldo_OK
1
buka dengan kata, simpan, lalu buka dengan notepad ... tidak perlu copy-paste
Gavin Palmer
2
Berita bagus, teknologi akhirnya tiba .
mkobit
9

Wordpad

Jika keengganan Anda pada notepad ++ dan editor teks lainnya adalah bahwa mereka bukan bagian standar dari semua sistem Windows, gunakan Wordpad. Ini tidak semudah Notepad.

Wordpad akan membaca dan menampilkan file teks dengan Unix line-endings dengan benar.

Lain

Jika Anda tidak menyukai kedua editor teks yang benar maka notepad ++ mungkin merupakan pilihan yang baik.

RedGrittyBrick
sumber
Masalah saya w / notepad ++ untuk melihat / mengedit benar-benar cepat adalah membuat beberapa dokumen tetap terbuka kecuali saya menutupnya secara spesifik; tidak terasa cocok untuk penggunaan itu. Saya mungkin hanya menghubungkan kembali file jenis teks dengan worpad dan pastikan itu ada di open with...menu saya .
Damon
2
Bagi siapa pun yang membaca ini tahun kemudian, Anda dapat menonaktifkan fungsi ini di preferensi, sesuatu seperti "Ingat sesi saat ini untuk peluncuran berikutnya"
Uberfuzzy
2
@ Damon Saya dulu benci perilaku ini, tetapi Anda dapat menonaktifkannya. Anda hanya perlu mengkonfigurasi Notepad ++ untuk tidak membuka kembali sesi lama. Buka Pengaturan -> Preferensi -> Cadangan. Hapus centang "Ingat sesi saat ini untuk peluncuran berikutnya".
Bacon Bits
Akan mengatakan bahwa masalahnya bukan tentang menginginkan editor teks menjadi porting dengan Windows, sebanyak ingin Windows menyediakan setidaknya satu editor teks yang layak. Saya tidak akan menghitung MS Word atau WordPad sebagai "editor teks", karena tujuan dari alat ini adalah menghasilkan laporan, daripada mengedit teks. Teks tidak datang tentu datang dengan halaman atau harus sesuai dengan halaman. Masih di 2018 dan Windows 10, saya belum menemukan ini.
patrik
5

Anda dapat menulis skrip kumpulan sederhana :

@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

Simpan ini sebagai notepad.batdirektori apa pun yang Anda suka. Kemudian, alih-alih membuka file / .info/ Anda dengan Notepad, bukalah dengan skrip batch ini. Ini akan secara otomatis mengkonversi semua ujung jalur Unix ke DOS dan kemudian membuka file dengan Notepad..css.js

Kekurangan:

  • Setiap kali Anda membuka program itu menambahkan baris baru ke akhir file. (Diperbaiki oleh @mpag )
  • Membuka jendela Prompt Perintah (Diperbaiki menggunakan STARTjalur 4)
  • Mengubah tanggal pembuatan file ke tanggal saat ini
MD XF
sumber
rekomendasi lain. ganti startbaris dengan START "NOTEPAD" "%SystemRoot%\System32\NOTEPAD.EXE" %1untuk menggeneralisasi bagi orang-orang gila yang memiliki D sebagai root drive atau WinNT untuk direktori windows mereka.
mpag
@ Amp Tentu, kecuali saya tidak merasa perlu mengeditnya menjadi jawaban saya. Siapa pun yang cukup bahwa direktori root mereka tidak C:akan mendapatkan dukungan dari saya. C:telah menjadi standar sejak DOS keluar pada tahun 1981.
MD XF
1
untuk melestarikan stempel waktu: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
Atau Anda bisa menggunakan ini utilitas yang sudah ada.
mbomb007
4

Karena Notepad ++ disebutkan secara khusus dalam OP, itu (setidaknya sekarang) memiliki pengaturan yang diperlukan di bawah:

Edit -> Konversi EOL -> Format Windows.

Huendli
sumber
Notepad ++ 7.5.9 versi, opsi memiliki nama "Windows (CR LF)" di bawah Konversi EOL.
André M. Faria
3

Anda perlu mengubah jenis penyandian baris-istirahat yang digunakan dalam file.

Di Linux ada program yang disebut "unix2dos" yang dapat melakukannya untuk Anda. Saya tidak yakin apakah Windows datang dengan program seperti itu, tetapi tampaknya ada program serupa yang tersedia di sini: http://www.thefreecountry.com/tofrodos/

Ada informasi lebih lanjut mengenai proses ini di Wikipedia: http://en.wikipedia.org/wiki/Unix2dos di mana Anda bisa mendapatkan contoh program baris perintah berbeda yang dapat melakukan perubahan.

rgocs
sumber
jika Anda telah menginstal Sublime, Anda dapat memilih View->Line endings -> Windowsdan kemudian menyimpan file untuk menimpanya. Dalam hal ini, akhiran baris unix akan berubah menjadi format Windows. Jika Anda membuka file yang disimpan ini di Notepad, itu akan menunjukkan akhir baris dengan benar.
Junior M
1

Hal lain yang bisa Anda lakukan: Buka file di WordPad dan kemudian simpan. Ini akan memperbaiki akhir baris. Ini adalah metode tercepat.

MD XF
sumber
1

Anda benar bahwa ini merupakan masalah dengan akhiran baris Unix. Ada beberapa ujung garis yang berbeda , tetapi tiga variasi adalah yang paling umum:

  • "U + 000A LINE FEED" (LF): Unix, Linux, macOS, dll
  • "U + 000D CARRIAGE RETURN" (CR): macOS klasik antara lain
  • "U + 000D CARRIAGE RETURN" diikuti oleh "U + 000A LINE FEED" (CRLF): Windows dan sistem operasi non-Unix / IBM lainnya

Notepad versi lama hanya mengenali CRLF, tetapi versi yang lebih baru mendukung CRLF, CR, dan LF .

Tidak ada pengaturan untuk mengubah perilaku ini di Notepad versi lama, tetapi Anda bisa kembali ke perilaku lama di versi baru . Sebagian besar program arus utama lainnya telah bekerja dengan ketiga ujung garis untuk beberapa waktu, jadi jika konten Anda bekerja di Notepad versi lama, itu akan bekerja cukup banyak di tempat lain.

0b10011
sumber