Sublime Text 2 — основные возможности

  •   21.01.2013
  •   21 комментарий
  •   Кодинг

В этой части учебника по Sublime Text 2 мы разберем следующие вопросы: установка и базовые настройки программы, возможность использования нескольких курсоров, инкрементный поиск, командная панель, моментальная правка файлов, сочетания горячих клавиш, установка плагинов, Package Control.

Sublime Text 2 - основные возможности

Установка Sublime Text 2

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

Пользователи Windows и Mac OS могут скачать стандартный установочный пакет с официальной страницы загрузки.

Пользователи Linux вообще и Ubuntu в частности могут поступить еще лучше — прописать в списке источников приложений дополнительный репозиторий и установить Sublime Text 2 оттуда, заодно обеспечив себе возможность автоматического обновления программы:

sudo add-apt-repository ppa:webupd8team/sublime-text-2
sudo apt-get update
sudo apt-get install sublime-text-2-dev

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

Первое знакомство с Sublime Text 2

При первом запуске без каких-либо открытых файлов редактор девственно чист. Никаких панелей, никаких отвлекающих внимание элементов. И это прекрасно.

Первый запуск Sublime Text 2

Давайте откроем папку с файлами, чтобы изучить начальные возможности редактора. Сделать это можно несколькими путями. Можно выбрать пункт меню «File → Open Folder…». Но в Sublime присутствует замечательный функционал для работы с проектами, поэтому рекомендую сразу использовать его. Для добавления папки в проект можно выбрать пункт меню «Project → Add Folder to Project…». Но я вам рекомендую забыть про меню и сразу использовать возможности быстрой работы в Sublime, которые я чуть раньше так красочно расписывал. Нажмите комбинацию клавиш Ctrl+Shift+P и в появившемся всплывающем окошке начните вводить название необходимого действия.

Добавление папки в проект в Sublime Text 2

После ввода первых же трех букв («add») первым в списке появляется необходимый нам пункт («Project: Add Folder»). Нажимаем Enter — и требуемое действие выполнено — появляется системное окошко для выбора папки. Выбираем и открываем нужную папку и добавляем ее в проект. Сохранить текущий проект можно при помощи той же панели, либо выбрав в меню пункт Project → Save Project As….

Примечание

Есть даже еще более быстрые способы открытия или создания в Sublime Text 2 папок и файлов, при котором можно обойтись без системных окошек. Однако следуя формату учебника, я буду вводить вас в курс дела постепенно, чтобы вы не обрадовались раньше времени растерялись от обилия гиковского функционала.
Пусть также вас не смущают небольшие отличия во внешнем виде программы у вас по сравнению с моими скриншотами. Я использую нестандартную тему. Об установке сторонних тем — тоже немного позже.

После открытия папки вы увидите дерево файлов в боковой панели редактора. Выберем в этом дереве один из файлов и откроем его на редактирование.

Редактирование файла в Sublime Text 2

Первое, что бросается в глаза — это приятная глазу цветовая схема для подсветки синтаксиса. При желании вы также можете выбрать в настройках другую цветовую схему («Preferenses → Color Scheme»).

Также обращает на себя внимание альтернативная полоса прокрутки рядом со стандартной, представляющая собой вид нашего года «с высоты птичьего полета». Это еще одна приятная в работе фича Sublime.

Не влезая глубоко в настройки, вы можете также выбрать комфортный размер шрифта привычными сочетаниями Ctrl++ и Ctrl+-, либо колесом мыши с зажатой клавишей Ctrl.

Базовая настройка Sublime Text 2

Теперь попробуйте открыть настройки редактора — выберите в меню пункт «Preferences → Settings — Default»
Что мы видим? О ужас! Вместо окна параметров открылся на редактирование конфигурационный файл.

Как я уже говорил, Sublime Text 2 — это в значительной степени гиковский редактор. И вы не найдете в нем привычных окошек с многочисленными параметрами программы, все настройки осуществляются правкой конфигов. Но не пугайтесь — структура конфигурационных файлов в Sublime выполнена в формате JavaScript, она проста и логична, и будет легко понятна не только программистам. Ключевой элемент конфига — это пара «параметр + значение». При необходимости вы просто меняете значение выбранного параметра.

Подобное поведение Sublime — это одна из немногих вещей, за которые его критикуют некоторые пользователи. Однако более опытные юзеры обычно считают подобный подход не недостатком, а крутой фичей, и вполне обоснованно. Несмотря на отсутствие GUI-конфигуратора, вы можете легко держать под контролем любые параметры редактора.

Например, изменив значение параметра «font_size» с «10» на «11» вы можете немного увеличить размер шрифта набираемого кода.

Но важно помнить, что в вышеуказанном файле хранятся дефолтные настройки программы. И при каждом обновлении программы этот файл будет перезаписан, а все ваши изменения (если они имелись) будут потеряны. Этот файл в принципе не предназначен для внесения в него изменений.

А где же менять параметры редактора, чтобы изменения не были потеряны?
Это можно сделать в файле, доступном из меню «Preferences → Settings — User» (естественно, вместо меню можно воспользоваться комбинацией Ctrl+Shift+P).

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

Вот пример пользовательской конфигурации:

{
    // Включаем автокомплит:
    "auto_complete_selector": "source, text",
    // Меняем кодировку для не-Unicode кодировки на cp1251:
    "fallback_encoding": "Cyrillic (Windows 1251)",
    // Меняем размер шрифта на 11px:
    "font_size": 11,
    // Включаем более яркую подсветку измененных вкладок (файлов):
    "highlight_modified_tabs": true,
    // Задаем размер табов (отступов):
    "tab_size": 4,
    // Включаем преобразование табов в пробелы:
    "translate_tabs_to_spaces": true,
    // Включаем перенос строк:
    "word_wrap": "true"
}

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

Несколько курсоров в Sublime Text 2

Отложим на время настройки редактора и перейдем к его основным возможностям. И первая серьезная возможность, которую мы рассмотрим — это одновременная работа с несколькими курсорами.

Рассмотрим ситуацию, когда вам нужно заменить имя переменной в каком-то файле. Как вы это обычно делаете?
Можно вручную выделить и изменить каждое вхождение, но это займет очень много времени. Можно воспользоваться присутствующей в любом хорошем редакторе функцией «Поиск и замена» (в Sublime доступна по комбинации Ctrl+H). Но даже подобные поиск и замена занимают немало времени. Неужели эту операцию можно выполнить еще быстрее?

В Sublime Text 2 — можно.
Можно как раз благодаря тем самым множественным курсорам.

Если установить курсор в любое место какого-то слова, то при нажатии комбинации Ctrl+D это слово выделится. (Это простое выделение и эту комбинацию можно также использовать саму по себе, без привязки к множественным курсорам.) При повторном нажатии той же комбинации будет выделено также следующее вхождение этого слова, при этом выделение с первого слова не снимется, и вы увидите два активных курсора. Если продолжить нажимать комбинацию Ctrl+D, то при каждом нажатии будет выделяться очередное вхождение выделенной последовательности символов (это не обязательно должно быть одно слово). Если же нажать комбинацию Alt+F3, то будут выделены все вхождения этой последовательности в редактируемом файле.

Несколько курсоров в Sublime Text 2

После подобного множественного выделения достаточно начать набирать текст, и выбранная последовательность символов будет одновременно изменяться для всех вхождений в текущем файле. То есть для замены какого-то слова после его выделения (ручного или нажатием Ctrl+D) нам достаточно нажать комбинацию Alt+F3 и ввести новое значение. Все.

В Sublime Text 2 есть еще одна интересная возможность — выделение столбцов. Ей можно воспользоваться, используя выделение при помощи ПКМ с зажатой клавишей Shift. В некоторых случаях подобная возможность тоже может оказаться полезной.

Выделение столбцов в Sublime Text 2

Еще один способ использовать несколько курсоров — это разделение многострочного выделения на отдельные строки.
Если вы выделите в Sublime Text 2 несколько строк и нажмете комбинацию Ctrl+Shift+L, то выделение превратится в построчное — в конце каждой выделенной строки появится курсор. При необходимости такое выделение можно снять, при этом оставив в каждой строке по курсору (например, нажатием клавиши End или Home).

Также в Sublime можно добавить к текущему выделению другие области, если производить выделение ЛКМ с зажатой клавишей Ctrl. А можно убрать из текущего выделения область, используя ЛКМ с зажатой клавишей Alt (правда в Ubuntu это системная комбинация для перемещения окна, поэтому она может не работать).

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

Все, что нужно для использования этой возможности — это нажать комбинацию Ctrl+I и ввести необходимую последовательность. Ближайшее вхождение будет найдено и выделено при нажатии клавиши Enter. Поскольку выделение уже установлено, теперь вы можете воспользоваться рассмотренными ранее возможностями — последовательно выделять каждое вхождение нажатием Ctrl+D, либо же выделить сразу все вхождения нажатием Alt+F3.

Командная панель в Sublime Text 2

Как и в большинстве текстовых редакторов, в Sublime Text 2 при нажатии комбинации Ctrl+N создается новый пустой файл. При этом он откроется в новой вкладке, другие вкладки останутся нетронутыми. Вкладки можно перемещать между собой, при клике на вкладке ПКМ появляется контекстное меню с дополнительными действиями (например, можно закрыть все вкладки кроме выбранной).

При активированной вкладке с только что созданным файлом нажмите комбинацию Ctrl+S и сохраните файл под именем test.js. Обратите внимание, что благодаря тому, что вы задали файлу расширение js, синтаксис автоматически переключился в значение JavaScript. Точно также при открытии файла Sublime будет автоматически определять, какой синтаксис ему нужно назначить.

Автоматическое переключение синтаксиса в Sublime Text 2

Нажав на это значение, можно при желании вручную изменить синтаксис на любой другой.
Но есть гораздо более быстрый способ изменения синтаксиса. И в этом нам опять поможет командная панель, которую я уже упоминал в первых частях этой статьи. Вызвать командную панель можно комбинацией Ctrl+Shift+P. После появления этой панели вы можете набирать команду, которую необходимо выполнить. Например, набрав слово «syntax», вы получите множество вариантов для смены синтаксиса. Для уточнения запроса можно продолжить набор.

Выбор синтаксиса в командной панели в Sublime Text 2

Обратите внимание, что в командной панели в Sublime используется так называемый «нечеткий поиск» («fuzzy search»). Если вы еще не знакомы с этим понятием, то самое время с ним познакомиться. Нечеткий поиск позволяет задавать неточные запросы. Вам нет необходимости задаввать точные запросы, нечеткий поиск выдаст все результаты, содержащие заданную последовательность символов, даже если между этими символами находятся другие. Плюс нет необходимости делать запрос слишком длинным. Например, в нашем случае можно исключить из запроса слово «syntax» (см. рисунок ниже).

Нечеткий поиск (fussy search) в Sublime Text 2

Один из основных способов ускорения работы — это максимальное использование клавиатуры и минимальное использование мыши. И Sublime Text 2 замечательно вписывается в эту концепцию. Многие операции можно делать еще быстрее, чем из командной панели, если использовать соответствующие горячие главиши. Причем подсказки по горячим клавишам вы можете видеть не только в меню, но и в командной панели. То есть если какую-то из клавиатурных комбинаций вы еще не достаточно хорошо выучили, то ее всегда можно быстро подсмотреть. Кстати говоря, комбинации типа Ctrl+K, Ctlr+B (как на скриншоте ниже) подразумевают, что вы должны зажать клавишу Ctrl и, не отпуская ее, сначала нажать клавишу K, а затем B.

Подсказки по горячим клавишам в командной панели Sublime Text 2

Быстрое открытие файлов в Sublime Text 2

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

Дерево папок и файлов в Sublime Text 2

Однако есть гораздо более быстрый способ открытия файлов текущего проекта, чем дерево файлов. И в этот раз нам поможет еще одна панель, вызываемая по нажатию комбинации Ctrl+P. Эта панель предназначена специально для поиска и открытия файлов, и в ней тоже используется нечеткий поиск.
Если вы знаете примерное название файла, который вам нужно открыть, можете воспользоваться этой панелью. И открытие файла в этой панели — гораздо более быстрый способ, чем другие.

Быстрое открытие файлов в Sublime Text 2

Если вы не знаете точного имени файла, можете воспользоваться фильтром по расширению, например, набрав в той же панели комбинацию «.css».

В этой панели вы можете также фильтровать результаты не только по имени файла, но и по имени папки. Специальные символы (типа слеша) тоже участвуют в нечетком поиске, не забывайте об этом.

Быстрый просмотр папок в Sublime Text 2

Таким же образом вы можете просто просматривать файлы в какой-либо папке. Наконец, при подобном подходе вы можете для экономии рабочего пространства вообще отключить боковую панель (Ctrl+K, Ctlr+B) и открывать файлы только по Ctrl+P.

Скрытие боковой панели в Sublime Text 2

Идентификаторы в Sublime Text 2

В Sublime Text 2 есть очень удобное средство для поиска идентификаторов, например, имен функций. Если вы нажмете комбинацию Ctrl+R, то сможете воспользоваться удобным функционалом по поиску необходимого идентификатора. Того же эффекта можно добиться, если нажать уже знакомую нам комбинацию Ctrl+P, но вместо имени файла первым делом ввести символ «@», а следом за ним искомый идентификатор. Вообще говоря, это одна и та же панель, просто при нажатии Ctrl+R символ «@» подставляется автоматически. При редактировании файла список идентификаторов меняется динамически в соответствии с произведенными изменениями.

Идентификаторы в Sublime Text 2

Этот же функционал может быть полезен не только для программистов, но и для верстальщиков, работающих с CSS.

Идентификаторы CSS для верстальщиков в Sublime Text 2

Думаю, кейсы для использования этого функционала вполне очевидны. И опять рутинные операции выполняются за доли секунды, позволяя значительно экономить время.

Идентификаторы CSS для верстки в Sublime Text 2

Есть и еще одна интересная фишка, о которой знают даже не все опытные пользователи Sublime Text 2. Вы можете совместить операции поиска файла и идентификатора в одном действии. В той же панели (вызываемой по Ctrl+P) вы можете ввести имя файла и символ «@» следом за ним, тем самым отобразив список идентификаторов еще до открытия файла. Причем опять же, используя возможности нечеткого поиска, не обязательно набирать имя файла или идентификатор целиком.

Одновременный фильтр по имени файла и идентификатору в Sublime Text 2

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

Естественно, помимо всего прочего, для ускорения работы в Sublime Text 2 используются горячие клавиши. Как я уже говорил, подсказки по этим клавишам можно найти в меню программы и в командной панели при наборе команд. Но есть одно место, в котором собраны все клавиатурные комбинации, используемые в Sublime. И это место — соответствующий конфигурационный файл. Открыть этот файл на редактирование можно из меню программы, или из командной панели (Ctrl+Shift+P), набрав в ней, например, последовательность «key».

Открытие конфига с горячими клавишами в Sublime Text 2
Конфиг с горячими клавишами в Sublime Text 2

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

По умолчанию пользовательский конфиг пуст, но при желании вы можете скопировать в него соответствующие блоки из дефотного конфига, исправив представленные там комбинации клавиш на свое усмотрение. Ну а используя возможности стандартного (Ctrl+F) или последовательного (Ctrl+I) поиска, вы легко сможете найти в дефолтном конфигурационном файле ту функцию, горячие клавиши к которой вы хотите переопределить.

Установка плагинов в Sublime без использования Package Control

Как я уже писал, одна из самых сильных сторон Sublime — это великое множество написанных для него плагинов. Если вам вдруг не хватает какой-то функции в Sublime Text 2, то очень велика вероятность, что эту функцию можно реализовать посредством плагинов.
Устанавливать плагины в Sublime можно несколькими способами, и сейчас мы рассмотрим один из таких способов.

Все плагины в Sublime Text 2 устанавливаются в виде так называемых пакетов в подпапку «Packages» в папке профиля Sublime. Открыть эту папку можно вручную, либо из меню, либо (быстрее всего) используя уже известную нам командную панель.

Просмотр установленных пакетов в Sublime Text 2

И первый способ установки плагинов в Sublime — это просто скопировать папку с файлами соответствующего плагина в директорию «Packages». Опытные пользователи могут при желании создать прямо в этой папке клон репозитория (с Гитхаба например).

Но есть гораздо более быстрый и эффективный способ установки плагинов, и имя ему — «Package Control». Именно его мы рассмотрим далее.

Установка плагинов в Sublime при помощи Package Control

Package Control — это менеджер пакетов для Sublime Text 2. При помощи Package Control можно устанавливать, удалять и обновлять пакеты (в нашем случае плагины), можно отключать неиспользуемые плагины, можно подключать дополнительные репозитории… В общем много чего можно.

Для установки Package Control нужно зайти на официальную страницу загрузки и скачать оттуда файл Package Control.sublime-package. Затем нужно скопировать этот файл в директорию «Packages/Installed Packages» в папке профиля программы, и вуаля — Package Control установлен.
Кстати говоря, можно сделать ту же операцию еще быстрее, введя в консоли Sublime (вызываемой по Ctrl+~) следующую команду:

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')

Установка Package Control — один из немногих случаев, требующих перезапуска программы для применения изменений.

После того, как вы установили Package Control и перезапустили Sublime, можно приступать к использованию этой функции. Package Control доступен из меню, однако более быстрый способ — уже известная нам командная панель, вызываемая по Ctrl+Shift+P

Package Control для Sublime Text 2

Каждый из пунктов в представленном списке говорит сам за себя, работа с Package Control интуитивно понятна. Например, при выборе пункта «Install Package» вы увидите список доступных для установки пакетов. Здесь тоже работает нечеткий поиск.

Установка плагинов через Package Control в Sublime Text 2

При выборе пункта «Disable Package» вы увидите список установленных пакетов и сможете выбрать, какой из них нужно отключить. При выборе пункта «Enable Package» вы увидите список отключенных пакетов и сможете включить какой-то из них.

Если в списке доступных пакетов нет необходимого вам пакета, но вы нашли его репозиторий (на Гитхабе например), то вы можете добавить этот репозиторий, выбрав пункт «Add Repository».

Через Package Control можно устанавливать не только плагины для улучшения функционала Sublime, но и правила подсветки синтаксиса для нужного вам языка, наборы сниппетов, темы оформления программы и т.п.

Кстати говоря, тема оформления, которую использую я (и которую можно видеть на моих скриншотах) называется «Soda». И ее тоже можно установить через Package Control.

Что дальше?

Пора заканчивать, мы рассмотрели все основные возможности замечательного редактора Sublime Text 2.

Однако это только первая статья в серии, или даже (не побоюсь этого слова) учебнике по Sublime Text 2. В следующих статьях мы рассмотрим:

Возвращайтесь 😉