Преобразование EOL в блокнот ++

По какой-то причине, когда я открываю файлы с unix-сервера на моей машине Windows, у них время от времени происходит конвертация Macintosh EOL, и когда я снова их редактирую/сохраняю, они не работают должным образом на сервере unix. Я использую notepad ++ для редактирования файлов с этого unix-сервера, так есть ли способ создать макрос, который автоматически преобразует EOL в формат Unix всякий раз, когда я открываю файл?

Ответ 1

Эта функциональность уже встроена в Notepad++. В меню "Правка" выберите "Преобразование EOL" → "Формат UNIX/OSX".

снимок экрана с возможностью более быстрого поиска (или версии на разных языках)

Вы также можете установить EOL по умолчанию в Notepad++ через "Настройки" → "Настройки" → "Новый документ/Каталог по умолчанию", затем выберите "Unix/OSX" в поле "Формат".

Ответ 2

В Notepad++ используйте заменить все регулярным выражением. Это имеет преимущество перед командой преобразования в меню, так как вы можете работать со всей папкой без необходимости открывать каждый файл или перетаскивать n (в нескольких сотнях файлов это будет заметно медленнее), а также вы можете установить фильтр подстановки имени файла.

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

в

\n

Это будет соответствовать каждому возможному шаблону окончания строки (одиночному\r,\n или \r\n) обратно к \n. (Или\r\n, если вы переходите в стиль Windows)

Для работы с несколькими файлами:

  • Используйте "Заменить все во всем открытом документе" на вкладке "Заменить". Сначала вам нужно будет перетащить все файлы в Notepad++. Хорошо, что вы можете контролировать, над каким файлом работать, но можете работать медленно, если существует несколько сотен или тысяч файлов.
  • "Заменить в файлах" на вкладке "Найти в файлах" выбранным фильтром файлов, например, *.cpp *.cs в одном указанном каталоге.

Ответ 3

Я открываю файлы "напрямую" из WinSCP, который открывает файлы в Notepad ++ У меня были php файлы на моем Linux-сервере, которые всегда открывались в Mac-формате независимо от того, что я сделал:-(

Если я скачал файл и затем открыл его из локального (окна), он был открыт как Dos/Windows.... hmmm

Решение состояло в том, чтобы EOL-преобразовать локальный файл в "UNIX/OSX Format", сохранить его и загрузить.

Теперь, когда я открываю файл непосредственно с сервера, он открывается как "Dos/Windows": -)

Ответ 4

В зависимости от вашего проекта вы можете рассмотреть возможность использования EditorConfig (https://editorconfig.org/). Есть плагин Notepad++, который будет загружать .editorconfig, где вы можете указать "lf" в качестве обязательного окончания строки.

Я только начал его использовать, но пока это приятно, и проекты с открытым исходным кодом, над которыми я работал, годами включали файлы .editorconfig. Параметр "Преобразование EOL" не изменился, поэтому он может немного сбить с толку, но если вы "Вид> Показать символ> Показать конец строки", вы увидите, что он добавляет LF вместо CRLF, даже когда "Преобразование EOL" "и нижний нижний angular показывает что-то еще (например, Windows (CR LF)).