Автору довелось пользоваться многими текстовыми редакторами и IDE, среди которых были nano, vim, gedit, geany, kate, eclipse… Любой из них имеет как свои преимущества, так и свои недостатки. Речь сегодня пойдёт не о них: о том редакторе, который с первого же дня может завоевать ваше сердце, о Sublime Text.

Поскольку о нём уже немало написано, пост будет достаточно коротким: целью ставится познакомить читателя с этим замечательным текстовым редактором и показать пути для его настройки под свои нужды. Остальную, более подробную информацию, можно найти на официальном сайте.

Сразу надо бы оговориться: sublime text 3 не бесплатный продукт. На момент написания поста его стоимость составляла $70. Как мне доводилось слышать, обязательна лишь оплата для пользователей Mac, на Linux и Windows вы можете не оплачивать лицензию и спокойно работать, время от времени наблюдая всплывающее окно с предложением о покупке. Собственно говоря, это практически не мешает.

Где найти и как установить

Как правило в случае с дистрибутивами Linux последняя версия текстового редактора имеется в репозитории. Хотя может возникнуть необходимость подключить помимо основного какой-либо дополнительный репозиторий. Для примера в Gentoo Linux следует подключить оверлей sublime-text и установить редактор:

# layman --add sublime-text
# eix-update
# emerge -av sublime-text

Для Debain с архитектурой amd64 последовательность команд такова (устанавливаем готовый пакет):

$ wget http://c758482.r82.cf2.rackcdn.com/sublime-text_build-3047_amd64.deb
$ sudo dpkg -i sublime-text_build-3047_amd64.deb

Внешний вид sublime достаточно приятен, есть несколько цветовых схем в стандартной поставке, в колонке слева отображаются проекты, справа — что-то вроде эскиза кода (миникарта). Вверху — панель инструментов и вкладки, внизу — информативная полоса, сообщающая о количестве строк, определяющая язык программирования, количество пробелов в отступе, а также кодировку документа, если вы пожелаете это настроить.

sublime text

Пользовательские настройки

Начнём с того, что можно настроить сразу же, стандартными средствами. Обратимся к пользовательским настройкам редактора, откройте настройки:

Preferences --> Settings-User

Допишите по вкусу:

{
    "auto_indent": true,              #автоотступ
    "auto_match_enabled": true,       #автоматически добавлять закрывающую скобку, парную кавычку
    "bold_folder_labels": true,       #каталоги выделить жирным
    "open_files_in_new_window": false, # открывать новые файлы во вкладке
    # цветовая схема
    "color_scheme": "Packages/Color Scheme - Default/Solarized (Light).tmTheme",
    "ensure_newline_at_eof_on_save": true,
    "font_size": 11,                  #размер шрифта
    "highlight_line": true,           #выделять строку, на которой находится курсор
    "ignored_packages":
    [
        "Vintage"
    ],
    "tab_size": 4,                    #настройка отступа
    "translate_tabs_to_spaces": true, #перевод табов в пробелы
    "trim_trailing_white_space_on_save": true   #удалять пробелы и табуляции в конце строк
}

Полный перечень команд можно отыскать через пункты меню Preferences -> Settings -> Default и Preferences -> Key Bindings -> Default. Надо только отметить, что у json нет комментариев, поэтому не нужно слепо копировать приведённые выше настройки.

Любопытно и то, что приверженцам vim, к коим себя относит и автор сего поста, можно включить привычные в работе сочетания клавиш, если стандартные по какой-то причине не совсем устраивают. Делается это достаточно просто. Следует исключить из игнорируемых режим Vintage Mode:

"ignored_packages": []

Здесь же можно включить автозакрытие скобок:

{ "keys": ["("], "command": "insert_snippet", "args": {"contents": "($0)"}, "context":
  [
    { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
    { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
    { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|\\\"|$)", "match_all": true }
  ]
}

Быстрое выделение текста без использования мыши осуществляем стрелками с зажатой клавишей Shift, что представляется весьма удобным.

Радует наличие установок для отдельных типов файлов. Это может пригодиться в том случае, когда вы используете разное количество пробелов при написании кода на разных языках.

Откройте в редакторе css-файл, затем Preferences -> Settings - More -> Syntax Specific - User и пропишите:

{
    "tab_size": 4
}

Теперь в коде css отступы будут выровнены по 4 пробела.

Сниппеты

Как любой уважающий себя текстовый редактор, sublime умеет работать с пользовательскими сниппетами. Пример создания нового сниппета через Tools -> New Snippet:

<snippet>
    <content><![CDATA[
jQuery(document).ready(function(){
  $1
});
]]></content>
    <!-- Как вызвать -->
    <tabTrigger>jq</tabTrigger>
    <!-- Для каких файлов использовать (опционально) -->
    <scope>source.js</scope>
</snippet>

Сохраните сниппет где-нибудь внутри .config/sublime-text-3/Packages/User. Это всё. Теперь в js-файлах появится возможность вставки текста, описанного нами в поле <![CDATA[]].

Плагины

Разумеется, sublime не был бы так привлекателен, если бы не его коллекция плагинов. Для установки и удаления плагинов используется Package Control. Увы, его нет в стандартной поставке. На момент написания поста установка самого Package Control выглядит следующим образом:

Перейдём в директорию, где хранится конфигурация Sublime-Text, клонируем нужный репозиторий:

$ cd .config/sublime-text-3/Packages/
$ git clone https://github.com/wbond/sublime_package_control.git "Package Control"
$ cd "Package Control"
$ git checkout python3

Откройте редактор и нажмите сочетание клавиш Ctrl+Alt+P, в появившемся меню следует найти "Package Control: Install Package". Это всё. Отныне вы вольны выбирать и устанавливать нужные вам плагины.

Обо всех изменениях в инсталляции плагина можно узнать на его официальной странице.

SublimeCodeIntel

Приближает возможности Sublime Text к возможностям IDE. Ставить в первую очередь.

Status Bar Extension

Отображает кодировку открытого файла, количество строк, используемый язык программирования, количество табов/пробелов в статус-баре.

Placeholders

Для случаев вставки «рыбы» в код. Помните lorem ipsum?

Emmet

Зачем слова? Кто однажды попробовал emmet, тот уже не в силах от него отказаться. И как без этого раньше жили верстальщики?

SublemacsPro

Для тех, кто привык к старому доброму Emacs.

Git

Интегрирует систему контроля версий Git и Sublime Text, он реализует в редакторе большинство повседневно используемых команд, таких как diff, status, pull.

И, пожалуй, самое интересное: проверка русской орфографии.

Скачайте файл со словарями или найдите подходящие словари на extensions.openoffice.org в секции Dictionaries. Наш словарь представляет из себя два файла с расширением .aff и .dic. Для успешной их обработки в Sublime Text необходимо, чтобы сам файл словаря имел кодировку UTF-8. Если вы взяли файлы по первой ссылке, вам не о чем беспокоиться, если это не так, убедитесь, что указанное требование выполняется или перекодируйте словарь.

Далее следует распаковать архив, скопировать файлы с указанным расширением по пути .config/sublime-text-3/Packages/, перезапустить текстовый редактор и включить проверку орфографии нажатием клавиши F6. выбрать словарь для проверки можно, зайдя в настройки:

View --> Dictionary

Пример:

russian

Sublime-Minifier

Служит для минимизации кода на javascript и css, существенно уменьшает вес подобных файлов.

JSFormat

Форматирует сжатые javascript-файлы, делая их пригодными для прочтения человеческим глазом.

jQuery

Представляет из себя набор сниппетов для jquery, упрощает написание jQ-функций.

CSSComb

Инструмент для работы с CSS-файлами, располагает свойства в заданном порядке и разбивает их на группы.

SublimeFileDiffs

Как становится ясно из названия, плагин добавляет возможность сравнения файлов как это делает diff.

Tag

Коллекция функций, помогающих управиться с HTML/XML тегами.

HTML5

Тоже ясно из названия: это набор сниппетов для HTML5.

colour-schemes

А это коллекция дополнительных тем к Sublime на случай, если вам не нравятся стандартные.

Alignment

Выравнивание кода. Для обработки выделить кусок кода и нажать Ctrl+Alt+A.

Terminal

Позволяет открывать терминал, скажем так, не отходя от кассы.

sublimetext-markdown-preview

Используется автором для предварительного просмотра файлов с расширением .md в браузере. Следует зажать ctrl+shift+p и выбрать из списка нужное действо: Preview in Browser, Export HTML in Sublime Text, Copy to Clipboard.

Поведение этого плагина (впрочем, как и всех остальных) можно изменить в разумных пределах. Заглянув по пути Preferences -> Package Settings -> Markdown Preview вы обнаружите два файла конфмгурации: дефолтный и пользовательский. Заглянув в первый и ознакомившись с имеющимися опциями, во втором мы можем их изменить. Например задать браузер для просмотра и включить подсветку синтаксиса:

{
  "browser": "firefox",
  "enable_highlight": true,
}

Djaneiro

Включает подсветку синтаксиса для шаблонизатора Django, а также набор сниппетов для форм, моделей и представлений.

Python Auto-Complit

Автодополнение для языка Python.

Python PEP8 Autoformat

Плагин, с помощью которого можно отслеживать соответствие вашего кода PEP8. Поддерживает 2 и 3 версии Sublime Text.

SASS

Поддержка синтаксиса SASS.

SASS Build System

Этот плагин умеет собирать css-файл из ваших SASS-файлов. После установки необходимо настроить параметры сборки под свои нужды. Например, если на выходе мы хотим иметь сжатый css:

Tools -> Build system -> SASS - Compressed

Теперь откройте в редакторе главный файл SASS, куда подключены все ваши отдельные файлы для сборки (например, style.scss) и зажмите клавиши Control+Shift+b. В директории, где лежит style.scss появится сжатый css-файл с тем же именем.

WordPress

Для тех, кому по долгу службы или зову сердца приходится иметь дело с wordpress. Коллекция симпатичных сниппетов.

Пожалуй, на этом следует остановиться. Список самых популярных плагинов можно найти на странице http://wbond.net/sublime_packages, дальше уже выбор за вами.

Ну, и напоследок прилагаю изображение с горячими клавишами редактора.

subl ⤧  Следующая запись Как сделать pull request