Небольшой обзор Sublime Text 2
Не так давно был релиз Sublime Text 2 и я прочитав новость на ЛОРе заинтересовался, но дальше интереса дело что-то не пошло.. Пока, спустя некоторое время, один друг не посоветовал мне его, и как бы "сгладил порог входа" для этого редактора. Сказать по правде, я как заядлый vim'ер относился к нему скептически, но как оказалось зря. Редактор весьма хорош и для таких как я (заядлых vim'еров), есть так называемый vintage mode реализованный в виде плагина, но обо всём по порядку.
Этот пост - небольшой обзор возможностей sublime text. Так сказать вводная.
Почему стоит попробовать Sublime Text?
- Лёгкий и быстрый
- Кроссплатформенный
- Поддерживает темы и "бандлы" Text Mate
- Настраиваемый
- Есть vintage mode ;)
- just for fun. Всегда стоит пробовать что-то новое
Внешний вид
Как уже выше написано, редактор очень настраиваемый, и это касается так же интерфейса. У большинства он выглядит примерно одинаково. Например, вот так выглядит sublime text у меня (кликабельно):
У sublime text настраивается отдельно внешний вид самого редактора, и области для редактирования кода (подсветка синтаксиса). Первым делом после скачивания sublime text стоит поменять дефолтную тему редактора. Самая популярная пожалуй Soda, но о темах несколько поже.
"Командная палитра"
На мой взгляд, первое с чем надо познакомиться в sublime text - это с "командной палитрой". Нажимаем Ctrl-Shift-P
и видим примерно следующее:
Отсюда можно получить доступ к большинству (если не ко всем) функциям редактора. Гораздо удобнее, чем лазить по различным пунктам меню.
Быстрое переключение между открытыми файлами, строками, переменными, etc..
Нажимаем Ctrl-P
и начинаем вводить название файла - sublime сразу перейдёт на вкладку с ним. В vim есть похожая функциональность, но реализована несколько по-другому. В реализиации sublime text как-то быстрее получается "переходить" между файлами.
Вообще используя эту комбинацию, можно переходить не только к другому файлу, а например к строке используя :номер_строки
либо Ctrl-G
К определённой переменной\функции используя @имя_переменной
либо Ctrl-R
Или даже "пробежаться" по структуре html файла #элемент_html_файла
На мой взгляд данная возможность если не самая полезная, то точно одна них. Особенно очень полезно то, что если искомое найдено, то не обязательно оставаться на этом участке кода. Можно нажать Esc
и вернуться к только что вводимому или редактируемому коду.
Множественное выделение
В sublime text можно так же выделять несколько фрагментов редактируемого текста, и что либо с ними делать. Для этого достаточно зажать Ctrl
и начать выделять нужные фрагменты, или если они одинаковые можно нажимать Ctrl-D
и тогда будет выделяться следующее найденное совпадение:
Сниппеты
Сниппеты, если вдруг кто-то не знает - это небольшие кусочки кода, которые часто используются и пригодные для множественного использования. В Sublime Text 2 есть возможность создавать свои сниппеты и использовать их через автодополнение по Tab
.
Сниппет имеет такой формат:
<snippet>
<content>< ![CDATA[Код вашего сниппета здесь]]></content>
<!-- Триггер для автодополнение. Т.е. после введение этого текста и нажатия Tab - сниппет "раскроется" -->
<tabtrigger>xyzzy</tabtrigger>
<!-- Опционально: область действия сниппета (определённый язык программирования, например) -->
<scope>source.python</scope>
<!-- Опционально: описание в меню -->
<description>My Fancy Snippet</description>
</snippet>
Созданный сниппет необходимо поместить в Packages/
, или можно создать там же отдельную папку - Packages/UserSnippets
. У файла должно быть расширение ".sublime-snippet
". Более подробно про сниппеты можно прочитать тут.
Разделение экрана
Просто must-have возможность в любом современном редактора - это возможность разделить рабочу область на регионы (фреймы если будет угодно).
Осуществляется разбиение следующими комбинациями:
- Single: =>
Shift-Alt-1
- Columns: 2 =>
Shift-Alt-2
- Columns: 3 =>
Shift-Alt-3
- Columns: 4 =>
Shift-Alt-4
- Rows: 2 =>
Shift-Alt-8
- Rows: 3 =>
Shift-Alt-9
- Grid: 4 =>
Shift-Alt-5
Выглядит это примерно так (Grid: 4):
Размеры легко меняются мышкой. Как изменить их размеры без неё я, к сожалению, не нашёл.
Vintage режим (режим совместимости с Vim)
На данный момент весьма я бы сказал ущербный. Реализована только базовая функциональность vim, но это лучше, чем ничего. Данный плагин есть по умолчанию, но так же по-умолчанию он выключен. Чтобы включить откройте "Preferences -> Settings Default
" и в самом низу в строке "ignored_packages
" удалите "Vintage
". После перезапуска можете наслаждаться. :)
Другие полезые возможности
- Комментирование строк: если нажать
Ctrl-/
, то текущий выделенный блок кода будет закомментированн (sublime text автоматически определит язык программирования). - Закладки: После нажатия
Ctrl-F2
, текущее место будет отмечено закладкой. В дальнейшем перейти к ней (как и к любой другой) можно с помощьюShift-F2
. - Выделение:
Ctrl-D
- выделяет текущее слово,Ctrl-L
- текущую линию,ctrl-shift-M
всё между {} иCtrl-Shift-A
одинаковые теги. - Вставка и выравнивание: просто вставить текст можно как и везде по
Ctrl-V
, но если необходимо его автоматически выравнять в соответствие с остальным кодом, то можно использоватьCtrl-Shift-V
. - Distraction free mode: режим, в котором Sublime Text разворачивается на весь экран и выравнивает текст по центру. Вход\выход из режима -
Shift-F11
. Полезный режим для тех, кого регулярно что-то отвлекает от непосредственного написания кода. - Редактирование выделенных блоков: функциональность, аналогичная vim доступная при нажатии
Ctrl-v
. Если выделить, например, пять линий, нажатьCtrl-Shift-L
, то можно добавить ко всем этим строкам что либо.
Работа с дополнениями
У sublime text есть множество дополнений, и для удобства работы с ними, в виде плагина, реализовали менеджер дополнений. Чтобы его установить, нажмите ctrl-`
(кнопка выше кнопки "Tab
") и вставьте туда следующее:
import urllib2,os; pf='Package Control.sublime-package'; ipp=sublime.installed_packages_path(); os.makedirs(ipp) if not os.path.exists(ipp) else None; urllib2.install_opener(urllib2.build_opener(urllib2.ProxyHandler())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'
После этого перезапустите редактор. В меню "Preferences
" появится новый пункт "Package Control":
Так же к Package Control доступ можно получить из командной палитры (Ctrl-Shift-P
). Более подробно про плагины я постараюсь описать ближайшее время в отдельном посте.
Небольшая настройка
Менеджер дополнений мы установили. Теперь можно и тему поменять. С помощью менеджера дополнений найдите и установите тему "Soda". Теперь откройте "Preferences -> Settings - User
" и добавьте туда примерно следующее для светлой темы:
"theme": "Soda Light.sublime-theme",
либо для тёмной:
"theme": "Soda Dark.sublime-theme",
После того, как сохраните файл тема сразу же изменится. Так же рекомендую поменять сразу тему подсветки синтаксиса (области редактирования) и шрифты:
"color_scheme": "Packages/SublimeXoria/sublime-xoria.tmTheme",
"font_face": "Monaco",
"font_size": 10.0,
Заключение
В данный момент Sublime Text активно развивающийся редактор и хороший редактор с большими перспективами. Жаль, что он не полностью бесплатен и открыт. Автор просит за программу 50\$, но можно пользоваться бесплатно если не будет раздражать окно, которое периодически появляется при сохранении (каждый 9-ый раз кажется) и предлагает купить программу.
Несколько позже постараюсь так же осветить полезные расширения Sublime Text 2.
Официальный сайт Sublime Text - www.sublimetext.com.