Sublime Text: Заметки.
3 minutes read in ArchiveNOTE: Я больше не использую Sublime Text, теперь только Nano и Intellij Idea
В основном я использую три текстовых редактора: 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>
Сохраняем макрос
Макрос записан, сохраняем.
Для этого делаем следующую последовательность действий:
- Останавливаем запись макроса – C+M+Q
- Сохраняем макрос – “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.