Настройка Sublime Text

Настройка Sublime Text

iSergium

Sublime Text - это текстовый редактор, в который вы влюбитесь, как заявляют его создатели (Sublime Text: The text editor you'll fall in love with). Заявление смелое, но с ним сложно не согласиться: многие полюбили этот продукт. Причин много: кроссплатформенность, поддержка плагинов, невероятно продуманное мультивыделение, приятный внешний вид и многое другое - для каждого своё. Но и в этой бочке мёда нашлось место для нескольких грамм дегтя, но его можно без особых проблем оттуда вытащить. Как - здесь и узнаете.

coddism sublime text

Настройки всего и вся у Sublime Text хранятся в формате JSON, основные настройки можно вызвать через меню "Preferences - Default". Через "Preferences - User" можно посмотреть пользовательские настройки. То есть, настроив Sublime Text один раз можно сохранить эти настойки себе и восстанавливать каждый раз после установки на любом компьютере - это удобно. Описание каждой настройки прилагается - это тоже удобно. Ну, далее про деготь.

Кодировка

Проблема кодировки - с ней сталкиваются все, чей проект написан на кодировке win1251. Программа автоматически определяет кодировки ASCII, UTF-8 и UTF-16, остальные по умолчанию выставляются в "Western (Windows 1252)", что приводит к печальному виду кириллицы типа этого - ß ãðóñòíàÿ êèðèëëèöà. За кодировку, которая выставляется при неудачном её определении, отвечает настройка "fallback_encoding", по умолчанию она, как выше упомянул, "Western (Windows 1252)". Есть два варианта как сменить настройки: либо переписать их в стандартных настройках, либо добавить в пользовательские. Второе предпочтительнее, и в прошлом абзаце написано почему. Ну и, собственно, воспользуемся вторым вариантом и гордо добавим в пользовательские настройки значение:

"fallback_encoding": "Cyrillic (Windows 1251)"

Не стоит забывать, что настройки хранятся в формате JSON, так что при допущении синтаксических ошибок вы будете наслаждаться видом примерно такого окна:

sublime text parse settings error

Узнать текущую кодировку файла можно разными способами, есть специальные плагины (например, пакет Encoding Helper), но мне больше нравится вариант сделать его самому. Пример написания такого простейшего плагина можно будет посмотреть в другой статье (в стадии написания, ссылка будет здесь).

Горячие клавиши

Не хватает горячих клавиш для привычных или часто используемых действий? Не беда - в Sublime Text настраивается почти всё! Так что вызываем пункт меню "Key Bindings - Default" и изучаем содержимое открывшегося конфигурационного файла. Это всё тот же знакомый нам JSON. Вот пример одной из простейших горячих клавиш:

{ "keys": ["ctrl+s"], "command": "save" }

Всё понятно интуитивно - клавиши и команда. Как узнать название команды, на которую Вы хотите повесить горячие клавиши? Всё просто - открываем консоль (Ctrl+` или View - Show Console) и вводим команду:

sublime.log_commands(True)

Теперь мы видим в консоли все проводимые в редакторе операции. Для примера добавим горячие клавиши для перевода регистра текста в заголовочный (Edit - Convert Case - Title Case). Вывод команд включен, так что вызываем этот пункт меню и смотрим в консоль. Видим:

command: title_case

Все настройки в Sublime Text делятся на дефолтные и пользовательские, настройки клавиш - не исключение. Поэтому вызываем "Key Bindings - User" и пишем настройки туда. Команда известна, вопрос остался в сочетании клавиш. Занятых комбинаций много (в Sublime Text 2 их 250), так что, прежде чем использовать понравившуюся комбинацию, проверьте, используется ли она уже - комбинации из пользовательского набора затирают дефолтные. Потыкавшись, находим незанятую комбинацию и пишем в файл настроек:

[
    { "keys": ["ctrl+alt+shift+t"], "command": "title_case" }
]

Перезапускать редактор не нужно - все настройки он подхватывает налету при сохранении. Так что открываем какой-нибудь файл, выделяем слово или ставим в него курсор, жмем наше избранное сочетание клавиш "ctrl+alt+shift+t" и видим, что труд наш был не очень напрасным.

Комментарии поддерживаются, так что временно ненужные действия можно закомментировать:

[
//    { "keys": ["ctrl+alt+shift+t"], "command": "title_case" }
]

Цветовая схема

Многие сталкиваются с неудобной для них цветовой схемой, это меняется еще проще.

sublime text color schemes

Наиболее классической схемой является "iPlastic". Все схемы являются отдельными файлами, имеют расширение *.tmTheme и представляют собой XML-файл. Так что их можно редактировать, скачивать, подставлять, делиться ими и т.д. Находятся они (на примере второй версии Sublime Text) в папке "%USERPROFILE%\AppData\Roaming\Sublime Text 2\Packages" для windows, "~/.config/sublime-text-2/Packages" для Linux и "~/Library/Application Support/Sublime Text 2/Packages/" для OS X.

Также существует классный редактор тем: tmtheme-editor.herokuapp.com.

Плагины

Для Sublime Text написано немало плагинов, доступны они через меню Preferences - Package Control. Если у Вас нет этого пункта меню, то прочтите инструкцию по установке, которая находится по этому адресу.

Создание простейшего плагина

Зададимся целью выводить текущую кодировку файла во всплывающем окне по сочетанию клавиш Shift+F1. Для начала надо выполнить команду Tools - New Plugin и в появившемся файле вставить:

import sublime, sublime_plugin
class EncodeAlertCommand(sublime_plugin.TextCommand):
 def run(self, edit):
  sublime.message_dialog(self.view.encoding())

Да, плагины для Sublime Text пишутся на Python.
Функция self.view.encoding() возвращает текущую кодировку файла. Проверить результат можно в консоли приложения, выполнив view.encoding().
Функция sublime.message_dialog(string) вызывает диалоговое окно с текстом string внутри.

Далее сохраняем наш плагин в предложенную Сублаймом папку, для удобства назвав файл "EncodeAlert.py".

Остаётся задать методу горячую клавишу: Preferences - Key Bindings - User. В данный JSON добавить элемент:

{ "keys": ["shift+f1"], "command": "encode_alert" }

Для проверки открываем интересующий файл и жмём Shift+F1.

Sublime Text UTF-8

Ссылки