Sublime Text: Заметки.

В основном я использую три текстовых редактора: Nano, Emacs и Sublime Text. У каждого свои задачи, каждый имеет свои плюсы и минусы. Nano удобен для мелких фиксов. Emacs комбайн, который позволяет решать любые задачи. Sublime Text я использую для редактирования и переформатирования текста(благодаря удобному multi-select).

Сегодня речь пойдет про Sublime Text (далее ST).

Macros

ST очень удобен за счет своего multi-select, это его киллер фича. Большое число встроенных снипетов и поддержка подсветки синтаксиса большинства языков программирования тоже радует.

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

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

Самым подходящим способом я посчитал Macros’ы. Записываем список действий, сохраняем и добавляем сочетание клавиш для вызова макроса.

Как записать макрос?

В моем ST (ST3, under Ubuntu Linux 12.04) запись нового макроса можно инициировать комбинацией C(Control)+M(Meta = Alt)+Q, или перейти в меню “Tools -> Record Macro”.

Что записываем?

У нас есть текст, в котором отдельные строки должны стать заголовками.

Пример ситуации
Пример ситуации

Теперь мы ставим курсор на строку 65 и инициируем запись нового макроса. Жмем следующую комбинацию клавиш:

Home<h2>End</h2>

В итоге строка 65 должна выглядеть так:

<h2>Гребные тренажеры</h2>

Сохраняем макрос

Макрос записан, сохраняем.

Для этого делаем следующую последовательность действий:

  1. Останавливаем запись макроса – C+M+Q
  2. Сохраняем макрос – “Tools -> Save Macro…”

При сохранении используйте папку $HOME_OF_SUBLIME_CONFIG/Packages/User/, которая в общем-то предлагается по умолчанию.

Для своего макроса я выбрал имя файла Insert H2.sublime-macro.

Назначаем горячие клавиши

Сам по себе макрос не очень удобная штука, но если назначить его на какую-либо комбинацию клавиш, ценность его повышается в разы.

Для того чтобы добавить свой шорткат, нужно зайти в “Preferences -> Key Bindings User”. Нам откроется файл конфигурации, в котором мы можем прописать наши кастомные шорткаты:

[
  { "keys": ["ctrl+2"], "command": "run_macro_file", "args": {"file": "Packages/User/Insert H2.sublime-macro"} }
]

Внимание! Не редактируйте файл “Key Bindings Default”, все свои правки вносите в “Key Bindings User”.

Используем

Теперь мы можем перейти на строку 71, нажать “C+2” и наша строка магическим образом обернется в заголовок второго уровня. Ура!

Syntax Specific Preferences

Если вас не устраивает тип и длина таба для некоторых языков в ST, то это недоразумение можно быстро исправить.

Для этого выставляем текущий язык на нужный(C+Shift+P -> Set Syntax $LANG_NAME), и заходим в “Preferences -> Settings – More -> Syntax Specific – User”, тут отрывается привычный нам конфиг в виде JSON файла.

Вот мой конфиг для Java:

{
  "tab_size": 4,
  "translate_tabs_to_spaces": true
}

Yet Another Notes

Все данные манипуляции производятся c конфигом “Preferences -> Settings – User”

Показываем whitespaces

	"draw_white_space": "all"

Добавляем пустую строку в конце файла

	"ensure_newline_at_eof_on_save": true

Открываем документы в нестандартной кодировке

Если у вас много документов в какой-нибудь экзотической кодировке, то воспользуйтесь следующей конфигурацией

	"fallback_encoding": "Cyrillic (Windows 1251)"

Вывод

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

В комментариях предлагаю поделиться своим workflow при использовании ST.

Leave a Reply

Your email address will not be published. Required fields are marked *