Я хочу, чтобы все файлы, которые я когда-либо сохранял в Sublime Text, были в формате окончания строки Unix, даже когда я открываю файлы, которые изначально были сохранены в другом формате, который я позже отредактировал в Sublime? Просто установить "default_line_ending": "unix"
недостаточно, потому что это не конвертирует файлы Windows, как я уже упоминал. Как я могу это сделать?
Как настроить возвышенное, чтобы всегда преобразовывать в окончания строки unix при сохранении?
Ответы (2)
Вот быстрый плагин для выполнения этой работы:
import sublime_plugin
class SetUnixLineEndingsCommand(sublime_plugin.TextCommand):
def run(self, edit):
self.view.set_line_endings("unix")
class SetLineEndings(sublime_plugin.EventListener):
def on_pre_save(self, view):
view.run_command("set_unix_line_endings")
В Sublime выберите Tools → Developer → New Plugin…
. В открывшемся окне удаляем все что там есть и заменяем на программу указанную выше. Нажмите «Сохранить», и диалоговое окно сохранения файла должно открыться в вашем каталоге Packages/User
, расположение которого зависит от ОС и типа установки:
- Линукс:
~/.config/sublime-text-3/Packages
- OS X:
~/Library/Application Support/Sublime Text 3/Packages
- Обычная установка Windows:
C:\Users\YourUserName\AppData\Roaming\Sublime Text 3\Packages
- Переносная установка Windows:
InstallationFolder\Sublime Text 3\Data\Packages
Сохраните файл как set_unix_line_endings.py
, и он сразу же активируется.
Плагин изменит окончания строк файла только в том случае, если вы отредактируете содержимое, а затем сохраните его. Просто открытие файла для просмотра ничего не изменит.
Если вы больше не хотите, чтобы плагин был активен, просто войдите в свой каталог Packages/User
и либо удалите файл, либо измените его суффикс на что-то другое, кроме .py
— set_unix_line_endings.py.bak
хорошо работает для меня.
В SublimeText3 (возможно, в других версиях) вы можете определить это в своих пользовательских настройках.
В строке меню откройте «Настройки -> Настройки».
В открывшейся правой панели окна вы обнаружите, что редактируете «Preferences.sublime-settings — User». На этой панели введите следующие параметры в формате JSON:
{
// 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": "unix",
// Display file encoding in the status bar
"show_encoding": true,
// Display line endings in the status bar
"show_line_endings": true
}
ПРИМЕЧАНИЕ. Я добавил здесь пару дополнительных функций. Один, чтобы сказать вам, с каким форматом файла вы работаете, и этот формат кодирования файлов. Они появятся на панели инструментов в нижней части вашего приложения ST3.
Menu > View > Line Endings
или включите настройку"show_line_endings": false
, тогда в правом нижнем углу строки состояния будет показано, какое окончание текущей строки, и когда вы щелкнете по нему, вы сможете выбрать, на какое его изменить. - person Gerard Roche   schedule 27.09.2016