Фиксирование Sublime Text 2 окончания строки?

Вот мой Settings - User config:

{
    "auto_indent": true,
    "color_scheme": "Packages/Color Scheme - Default/Twilight.tmTheme",
    "default_line_ending": "LF",
    "detect_indentation": true,
    "font_size": 10.0,
    "ignored_packages":
    [
        "Vintage"
    ],
    "indent_to_bracket": false,
    "smart_indent": true,
    "tab_size": 4,
    "translate_tabs_to_spaces": true,
    "trim_automatic_white_space": true,
    "use_tab_stops": true
}

Комментарий к опции default_line_ending говорит: Comment to default_line_ending option

Когда я создаю новый файл, я проверяю строку, заканчивающуюся здесь:

Check line ending

Как вы можете видеть, это все еще Windows... Любые идеи?

Ответ 1

В комментарии указано

// Determines what character(s) are used to terminate each line in new files.
// Valid values are 'system' (whatever the OS uses), 'windows' (CRLF) and
// 'unix' (LF only).

Вы устанавливаете

"default_line_ending": "LF",

Вы должны установить

"default_line_ending": "unix",

Ответ 2

Проект EditorConfig (ссылка на Github) - еще одно очень жизнеспособное решение. Подобно файлам типа sftp-config.json и .sublime-project/workspace, после настройки файла .editorconfig в папке проекта или в родительской папке каждый раз, когда вы сохраняете файл в этой структуре каталогов, плагин будет автоматически применить настройки в файле точек и автоматизировать несколько разных вещей для вас. Некоторые из них сохраняют окончания строк в стиле Unix, добавляют новую строку в конце файла, удаляют пробелы и корректируют настройки отступа/табуляции.


БЫСТРЫЙ ПРИМЕР

Установите плагин EditorConfig в Sublime с помощью Package Control; затем поместите файл с именем .editorconfig в родительский каталог (даже в ваш домашний или корневой каталог, если хотите) со следующим содержимым:

[*]
end_of_line = lf

Это. Этот параметр будет автоматически применять окончания строк в стиле Unix всякий раз, когда вы сохраняете файл в этой структуре каталогов. Вы можете делать больше интересных вещей, напр. обрезать нежелательные конечные пробелы или добавить завершающий символ новой строки в конце каждого файла. Для получения более подробной информации обратитесь к файлу примера по адресу https://github.com/sindresorhus/editorconfig-sublime, а именно:

# editorconfig.org
root = true

[*]
indent_style = tab
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

Строка root = true означает, что EditorConfig не будет искать другие файлы .editorconfig на верхних уровнях структуры каталогов.

Ответ 3

для вывода строк строки из LF в CRLF:

откройте Sublime и выполните следующие действия: -

1 нажмите Ctrl + shift + p, затем установите окончание окончательной строки имени пакета

затем снова нажмите Ctrl + shift + p

2 в пустом поле ввода типа "Линия унифицировать окончание"

3 Хит введите дважды

Sublime может иногда зависнуть и в результате изменит окончание строки от LF до CRLF

Ответ 4

Самый простой способ изменить все файлы проекта сразу (пакетно) - через пакет Unify Line Endings:

  1. Ctrl + Shift + P введите inst + выберите Установить пакет.
  2. Введите конец строки + выберите Объединить окончания строки.
  3. После установки Ctrl + Shift + P + тип end + выберите Unify окончаний строки.
  4. ИЛИ (вместо 3.) копия:

    {
     "keys": ["ctrl+alt+l"],
     "command": "line_endings_unify"
    },
    

    в массив User (правая панель, после открытия [) в разделе "Предпочтения" → "Привязки клавиш" + нажмите Ctrl + Alt + L.

Как уже упоминалось в другом ответе:

  • Символ возврата каретки (CR) (0x0D, \r) [...] Ранние операционные системы Macintosh (OS-9 и более ранние версии).

  • Символ перевода строки (LF) (0x0A, \n) [...] Системы на основе UNIX (Linux, Mac OSX)

  • Последовательность конца строки (EOL) (0x0D 0x0A, \r\n) [...] не-Unix операционных систем, включая Microsoft Windows, Symbian OS и другие.

Если у вас есть node_modules, build или другие автоматически сгенерированные папки, удалите их перед запуском пакета.

Когда вы запускаете пакет:

  1. Внизу вас попросят выбрать, какие расширения файлов искать в списке через запятую (введите только те, которые вам нужны для ускорения замен, например, js,jsx).
  2. Затем вас спросят, какой конец строки ввода использовать, например, если вам нужен тип LF \n.
  3. нажмите ENTER и дождитесь появления окна предупреждения с LineEndingsUnify Complete.