Возврат каретки отображается в блокноте ++, но не в текстовом блоке?

У меня есть несколько текстовых файлов, скопированных на сервер. Я обычно использую и предпочитаю notepad++ для просмотра текстовых файлов, но на этом сервере установлен только textpad. Это действительно странное поведение, но я заметил, что когда я просматриваю символы EOL в блокноте ++, я ясно вижу и ищу CRLF (т.е. \r\n). Но когда я отображаю те же файлы в текстовой панели, я могу искать только в LF (\n) и не иметь никаких совпадений в CR (\r). Я что-то упустил в том, как Textpad интерпретирует символы EOL?


person Kimberly Ketchum    schedule 13.06.2013    source источник
comment
Спасибо за ответ Кислик. Обычно я не использую TextPad, но это то, что установлено на сервере. Когда я просматриваю файлы в блокноте ++ на своем рабочем столе, я вижу CRLF (\r\n) и могу их искать. Когда я просматриваю те же файлы с помощью Textpad и ищу CRLF (\ r \ n), я получаю только попадания LF (\ n), а не CR (\ r). У меня что-то не так с настройками или Textpad действительно интерпретирует CRLF как (\n) вместо (\r\n)?   -  person Kimberly Ketchum    schedule 14.06.2013
comment
newline различается во всех трех наиболее распространенных операционных системах (Windows, Linux и Mac OS). Держу пари, вы это знали. notepad++, насколько мне известно, очень надежны, и поэтому newlines определяются автоматически, и я уверен, вы даже можете установить, как программа показывает (рендерит) их в текстовой области. Кажется, да, TextPad интерпретирует CRLF как \n даже на машине с Windows. Но загляните в примечания к выпуску TextPad =› In regular expressions in macros, [^...] is now changed to [^...\r\n] to constrain it to the end of line. Я не знаю, помог ли я.   -  person Kyslik    schedule 14.06.2013


Ответы (3)


Это происходит, когда управляющие символы EOL неверны. Windows представляет новые строки с помощью возврата каретки + перевода строки.

В Notepad++ вы можете проверить эти символы, выбрав:

Вид > Показать символы > [x] Показать конец строки

notepad++

Вам нужно изменить свой скрипт, чтобы ваши данные были отформатированы следующим образом:

CRLF

person Adrian Cumpanasu    schedule 05.06.2014

Да, в идеале это возврат каретки, а затем перевод строки,

\r\n

но вы также можете использовать быстрое сокращение для размещения {lf}, а не {cr}{lf}

\n

person a.c    schedule 11.08.2014

Я знаю, что это немного старый вопрос, но я боролся именно с этой проблемой, и вот как я нашел обходной путь.

При использовании Save As в текстовой панели вы можете указать формат файла внизу (PC, UNIX или Mac). Теоретически, если вы выберете UNIX, строки будут заканчиваться только символом \n, однако вам придется каждый раз менять эту опцию.

Вы можете изменить настройки для определенных «классов документов», чтобы указать формат выходного файла. Следуй этим шагам:

  • Нажмите Configure
  • Go to Preferences
  • Развернуть список Document Classes
  • Выберите bash, который должен включать *.sh файлов.
  • Прокрутите вниз параметры справа, пока не увидите Create new files as.
  • Выберите UNIX

Это должно теперь сохранять все файлы *.sh, которые вы создаете, в формате UNIX без возврата каретки. Удачи

Я нашел эту информацию здесь: http://homes.ori.org/~keiths/Files/Tips/Software_TextPad_Prefs.html#DocClasses

person Luke    schedule 27.10.2015