По какой-то причине, когда я открываю файлы с unix-сервера на моем компьютере с Windows, они иногда имеют преобразование Macintosh EOL, и когда я редактирую/сохраняю их снова, они не работают должным образом на unix-сервере. Я использую блокнот ++ только для редактирования файлов с этого сервера Unix, поэтому есть ли способ создать макрос, который автоматически преобразует EOL в формат Unix всякий раз, когда я открываю файл?
Преобразование EOL в блокноте ++
Ответы (4)
Эта функциональность уже встроена в Notepad++. В меню «Правка» выберите «Преобразование EOL» -> «Формат UNIX/OSX».
скриншот опции для еще более быстрого поиска (или разных языковых версий)
Вы также можете установить EOL по умолчанию в notepad ++ через «Настройки» -> «Настройки» -> «Новый документ / Каталог по умолчанию», затем выберите «Unix / OSX» в поле «Формат».
В Notepad++ используйте заменить все регулярным выражением. Это имеет преимущество перед командой преобразования в меню, поскольку вы можете работать со всей папкой без необходимости открывать каждый файл или перетаскивать (на нескольких сотнях файлов это будет заметно медленнее), плюс вы также можете установить фильтр подстановочных знаков имени файла.
(\r?\n)|(\r\n?)
to
\n
Это сопоставит каждый возможный шаблон окончания строки (одиночный \r, \n или \r\n) обратно в \n. (Или \r\n, если вы конвертируете в стиль Windows)
Для работы с несколькими файлами:
- Используйте «Заменить все во всех открытых документах» на вкладке «Заменить». Сначала вам нужно будет перетащить все файлы в Notepad++. Хорошо, что у вас будет контроль над тем, с каким файлом работать, но это может быть медленным, если есть несколько сотен или тысяч файлов.
- «Заменить в файлах» на вкладке «Найти в файлах», выбранным фильтром файлов, например, *.cpp *.cs в одном указанном каталоге.
Я открываю файлы «напрямую» из WinSCP, который открывает файлы в Notepad ++. У меня были файлы php на моем сервере Linux, которые всегда открывались в формате Mac, независимо от того, что я делал :-(
Если я загрузил файл, а затем открыл его локально (Windows), он был открыт как Dos / Windows .... хммм
Решение заключалось в том, чтобы EOL-преобразовать локальный файл в «формат UNIX/OSX», сохранить его, а затем загрузить.
Теперь, когда я открываю файл непосредственно с сервера, он открывается как "Dos/Windows" :-)
В зависимости от вашего проекта вы можете рассмотреть возможность использования EditorConfig (https://editorconfig.org/). Существует плагин Notepad ++, который загружает .editorconfig, где вы можете указать «lf» в качестве обязательного окончания строки.
Я только начал его использовать, но пока это хорошо, и проекты с открытым исходным кодом, над которыми я работал, включали файлы .editorconfig в течение многих лет. Параметр «Преобразование EOL» не изменился, поэтому он может немного сбивать с толку, но если вы «Просмотр»> «Показать символ»> «Показать конец строки», вы увидите, что он добавляет LF вместо CRLF, даже когда «Преобразование EOL ", а нижний нижний угол показывает что-то другое (например, Windows (CR LF)).
Binary
, чтобы сохранить окончания строк. Таким образом, вы можете перенастроить свою программу FTP/SCP/etc для передачи файлов другим способом. - person Slicktrick   schedule 23.02.2017