Ноутбук ++ новий рядок, що вставляє CR лише під час відкриття порожнього файлу (текстовий файл 0 байтів, створений у Windows Explorer)


3

Передумови: Я зіткнувся з дійсно дивним випуском, де частина сторінки php просто перестала розбиратися, але лише тоді, коли вона була завантажена на сервер. Місцево працює добре. Частина, де вона відрізалася, була після коментованого рядка коду. Вилучено коментар, який він розбирав до наступного коментаря.

Виявляється, проблемою були закінчення рядків. Вони були CR лише без LF, і сервер * nix не розпізнає CR тільки як новий рядок, тому він трактував коментар як розповсюдження на весь решта файлу.

Я спробував створити новий файл (після ввімкнення "показати всі символи") всередині Notepad ++ і натиснув клавішу Enter. Він показав CRLF.

Далі я створив новий текстовий файл у Провіднику Windows (Win7 x64), потім відкрив його в Блокноті ++. Я натиснув клавішу Enter, і вона лише вставила CR не LF.

Тепер актуальне питання, чому? Наскільки я знаю, Windows повинна базуватися на CRLF, а не тільки на CR. Чи є спосіб, щоб Notepad ++ завжди використовував CRLF або, принаймні, припускав CRLF з файлом 0 байтів?

Відповіді:


5

Я не знаю, чому частина вашого файлу знаходиться у форматі Windows, а частина - у форматі Mac, але це повинно бути таким же простим, як вибір Правка-> Перетворення EOL-> Формат Windows, а весь файл слід перетворити на CRLF . Notepad ++ використовує формат, який використовується у відкритому файлі. AFAIK, немає ніякого способу змусити це. Одним із варіантів може бути показ символів, що закінчуються рядком (Перегляд-> Показати символ-> Показати кінець рядка), щоб ви знали, з чим маєте справу, коли відкриєте файл.


Дякую, Edit->EOL Conversion->Windows Formatце я не міг знайти. Закінчив робити пошук / заміну з розширеними символами, але це набагато надійніше.
Davy8

Але "частина вашого файлу у форматі Windows, а частина - у форматі Mac" - це не те, що я сказав. В основному, якщо я відкриваю 0-байтний файл, він не повинен бути форматом, оскільки немає даних, на яких можна базуватись. Питання полягає в тому, що в цьому випадку чому він передбачає "формат Mac"?
Davy8

Вибачте, я маю це неправильно прочитати. Я подумав, що він почався у форматі Windows і що він змінився на формат Mac десь до першого коментаря. Відредагуйте відповідь для виправлення.
MBraedley

Також я помилявся раніше (для мене це було перше, що було вранці). У налаштуваннях на вкладці Новий документ / Каталог за замовчуванням можна встановити формат закінчення рядка для нових файлів.
MBraedley

2

Відкриваючи файл нульової довжини, він використовує закінчення рядка останнього відкритого файлу. Тому я отримував різноманітні результати.


0

Ви можете встановити формат EOL за замовчуванням для нових файлів на вкладці "Новий документ / каталог за замовчуванням". Я вважаю, що за замовчуванням є Windows, але якщо він встановлений у форматі Mac, можливо, він використовував CR для файлу 0 байтів.


Насправді він встановлений у Windows. Якщо я створюю новий документ всередині Notepad ++, він працює як очікувалося. Проблема виникає лише з відкриття вже існуючого файлу 0 байтів.
Davy8

1
Коли ви вперше відкриєте 0-байтний файл, в рядку стану написано "Dos \ Windows" або в ньому написано "Macintosh"?
Велоцираптори

він каже, що Mac ... насправді вчора він сказав Mac ... сьогодні він пише Unix. Створення нового документа всередині «Блокнот ++» говорить про те, що Dos \ Windows ... ідея wtf не відбувається.
Davy8

Або Windows робить щось дивне, або є помилка в блокноті ++. Як обхід, ви можете або створити файли в блокноті ++, або встановити ярлик клавіатури для перетворення EOL у форматі Windows, щоб швидше переконатися, що у вас завжди є CRFL.
Велоцираптори

У мене було те саме, що трапилося зі мною в «Блокноті ++», і це підводило мене до стіни, підозрюючи про помилку в «Блокноті ++». Виявляється, я зараз підозрюю, що я ненавмисно вдаряю або Ctrl+M( 0xDлише для Mac EOL ), або Ctrl+J( 0xAлише для Unix EOL ) під час набору тексту. Це, здається, комбінації клавіш за замовчуванням для Notepad ++ - дратує! Наразі намагаються з’ясувати, як / де їх відключити (вони не у звичайному Settings > Shortcutsменю.
Асад Ебрагім
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.