Использование Sublime Text 3 — Expertus metuit
Когда-то я писал о личном опыте использвания Sublime Text 2, а после выхода Sublime Text 3 решил начать новую статью, ориентированную именно на версию 3 с небольшим акцентом на миграцию с 2 на 3.
Sublime Text — это профессиональный программерский текстовый редактор. Он завоевал очень большую популярность благодаря проработанности интерфейса, кроссплатформенности, удобной и простой расширяемости плагинами. Мои впечатления со времён написания первой статьи не особо изменились, поэтому я второй раз их переписывать не буду.
В самом начале нужно поставить «главное расширение» Package Control, потом через него можно ставить другие, включать/отключать и так далее. Процесс установки описан здесь.
Ниже список расширений, которые не входят в начальную поставку, но весьма полезны (они все ставятся через Package Control).
- SyncedSideBar
- Синхронизует текущий открытый файл с деревом файлов в панели слева.
- Sublime Linter
- Проверка синтаксиса в реальном времени, подсвечивает места в коде, содержашие (потенциальные) ошибки и прочие «плохие» места. Использует внешние программы для собственно проверки, например, для XML использует
xmllint
, для Java —javac -Xlint
. - CommentsAwareEnter
- «Умный» Enter внутри комментария, позволяет писать, например, многострочные комментарии автоматически, просто нажимая на Enter. Работает с комментариями типа
//
, но не с/* */
. - DocBlockr
- Упрощает работу с комментариями, автоматически расширяет
/** */
-блоки, например. - All Autocomplete
- Включает поиск для автодополнения по всем открытым в редакторе файлам, а не только в текущем. Я для себя этот проект форкнул и немного подредактировал, чтобы исправить несколько надоедливых багов (https://github.com/sigsergv/SublimeAllAutocomplete).
А вот эти расширения я пробовал, но отказался от них из-за большого количества багов.
- Sublime CodeIntel
- Более удобная работа с кодом: переход по символам (Alt+Click), подсказки с аргументами функций, более качественное автодополнение. Заявлена поддержка вот этого зоопарка: PHP, Python, RHTML, JavaScript, Smarty, Mason, Node.js, XBL, Tcl, HTML, HTML5, TemplateToolkit, XUL, Django, Perl, Ruby, Python3
В Sublime Text очень активно используется клавиатура, очень много хоткеев на все случаи, но они часто отличаются от хоткеев из других редакторов. Посмотреть текущие можно через меню Preferences → Key Bindings — Default, откроется таб конфигом текущих системных хоткеев. Можно эти хоткеи менять на свои, но лучше это делать через пользовательский конфиг хоткеев, он открывается из меню Preferences → Key Bindings — User
Ниже идёт конфиг, который я использую, в нём частично хоткеи из еклипса, частично мои собственные.
// eclipse-like key bindings, for sublime text v.3 (macos) // author: Sergey Stolyarov <[email protected]> [ // disable some hotkeys { "keys": ["ctrl+f3"], "command": "unbound" }, { "keys": ["ctrl+shift+f3"], "command": "unbound" }, { "keys": ["ctrl+g"], "command": "unbound" }, { "keys": ["ctrl+q"], "command": "unbound" }, // find selected text { "keys": ["super+k"], "command": "find_under" }, { "keys": ["super+shift+k"], "command": "find_under_prev" }, // delete word before cursor { "keys": ["super+w"], "command": "delete_word", "args": { "forward": false } }, // delete line (default ctrl+shift+k) { "keys": ["ctrl+d"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Delete Line.sublime-macro"} }, // auto completion { "keys": ["super+p"], "command": "auto_complete" }, // open files list overlay { "keys": ["ctrl+3"], "command": "show_overlay", "args": {"overlay": "goto", "show_files": true} }, // add line { "keys": ["shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line. sublime-macro"} }, { "keys": ["ctrl+shift+p"], "command": "move_to", "args": {"to": "brackets"} }, { "keys": ["super+shift+p"], "command": "move_to", "args": {"to": "brackets"} }, // jump to line { "keys": ["super+l"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} }, { "keys": ["ctrl+l"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} }, // use Ctrl+H for searching in files { "keys": ["ctrl+h"], "command": "show_panel", "args": {"panel": "find_in_files"} }, { "keys": ["super+h"], "command": "show_panel", "args": {"panel": "find_in_files"} }, { "keys": ["ctrl+shift+f"], "command": "unbound" }, { "keys": ["super+shift+f"], "command": "unbound" }, // use Ctrl+F both for searching and replacing { "keys": ["ctrl+f"], "command": "show_panel", "args": {"panel": "replace"} }, { "keys": ["super+f"], "command": "show_panel", "args": {"panel": "replace"} }, // expand selection to complete line { "keys": ["super+shift+l"], "command": "expand_selection", "args": {"to": "line"} }, { "keys": ["ctrl+shift+l"], "command": "expand_selection", "args": {"to": "line"} }, // case conversions { "keys": ["alt+up"], "command": "upper_case" }, { "keys": ["alt+down"], "command": "lower_case" }, // close all opened tabs {"keys": ["shift+ctrl+w"], "command": "close_all"}, // open methods lookup { "keys": ["ctrl+r"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} }, { "keys": ["f3"], "command": "find_next" } ]
Главные настройки хранятся в файле В sublimetext хорошо организована работа с проектами, между ними легко переключаться с сохранением открытых файлов. У каждого проекта есть свои собственные настройки, они хранятся в файле, который можно открыть из меню Project → Edit project, это точно такой же json, как и файл с настройками программы или хоткеев. Главный элемент этого конфига — объект Помимо Самая главная проблема — автодополнение кода, оно крайне примитивно и очень быстро стандартного автодополнения становится мало. Нормальных плагинов, которые бы эту проблему решали, пока нет. Пакет — это контейнер для ресурсов. Имеется три местоположения
для хранения пакетов
для разных целей. Пакеты могут быть папками под или zip-архивы с расширением Дополнительно,
Sublime Text предоставляет набор пакетов по умолчанию.
как zip архивы в Эта папка не предназначена для изменения пользователем. Примечание Для простоты иногда будем
обращаться ко всем этим каталогам просто как ~/. &*|+=[]{}`~?",
// использовать отступы пробелами по умолчанию
"translate_tabs_to_spaces": true,
// файлы для игнора в разных списках
"file_exclude_patterns": [
"build/*",
"*.pyc"
],
// включаем перенос по словам
"word_wrap": true,
// скрываем кнопки закрывания табов, пользуемся нажатием на колесо для этого
"show_tab_close_buttons": false,
// делаем табы с несохранёнными изменениями более заметными
"highlight_modified_tabs": true,
// отключаем переключение табов колесом мыши
"mouse_wheel_switches_tabs": false,
// отключаем плавную прокрутку
"scroll_speed": 0,
// всегда показывать текующую позицию в минимапе
"always_show_minimap_viewport": true,
// включаем автоматическую синхронизацию для плагина SyncedSideBar
"reveal-on-activate": true,
// отключаем «схлапывание» табов
"enable_tab_scrolling": false,
// включаем показ кодировки в статусбаре
"show_encoding": true,
// при поиске подставлять выделенный текст в поле поиска
"find_selected_text": true,
// позволяет прокручивать текст за пределы конца файла
"scroll_past_end": true,
"ignored_packages":
[
"Vintage"
]
}
folders
, в нём для каждой папки проекта создаётся отдельный объект, элемент path
задаёт путь к папке.path
там могут находиться и другие элементы, например, name
(строкового типа) задаёт отображаемое имя каталога в дереве проекта. Другие полезные элементы — списки file_exclude_patterns
и folder_exclude_patterns
. Вот простейший пример проектного конфига:{
"folders":
[
{
"path": "/home/user/projects/pyrone",
"file_exclude_patterns": ["*.in", "*.pyc"],
"folder_exclude_patterns": ["pyrone.egg-info", "storage", "data"]
}
]
}
пакетов | Документация сообщества Sublime Text
Расположение пакетов (и сокращения)
Данные/Пакеты
(кратко: Пакеты
) .sublime-package
находится в разделе Data/Installed Packages
(кратко: Установленные пакеты
)
или любой из его подкаталогов. Application/Packages
(сокращенно: Shipped Packages
),
где Приложение относится к папке
где находится исполняемый файл Sublime Text. Пакеты
.sublime-package
или нет)
как Packages/PackageName
.
Следовательно, файл внутри пакета
также может называться PackageName/a_file.extension
.
.sublime-package
Пакеты Пакеты, распространяемые как .sublime-package
zip-архивы, должны быть
считаются контейнерами ресурсов только для чтения и никогда не могут быть изменены
вручную. Поскольку они обычно обновляются целиком, любые ручные изменения
сделанные им, будут потеряны в процессе.
Если вы хотите изменить файлы в этих архивах, см. пакеты переопределения
.
Взаимодействия между пакетами с одинаковыми именами
Если существуют два пакета с одинаковыми именами
как в Установленных пакетах
, так и в Отгруженных пакетах
,
будет использоваться тот, что в Installed Packages
а тот, что в Shipped Packages
, будет проигнорирован.
Любой файл в Packages/PackageName
имеет приоритет
над одноименным файлом
в Установленные пакеты/PackageName.sublime-package
или Shipped Packages/PackageName.sublime-package
.
См. также пакеты переопределения
.
Содержимое пакета
Типичные ресурсы, содержащиеся в пакетах, включают:
- системы сборки (
.sublime-build
) - цветовые схемы (
.sublime-color-scheme
, 90 013 .tmTheme ) - карты ключей (
.sublime-keymap
) - макросы (
.sublime-macro
) - меню (
.sublime-menu
) - метаданные (
.tmPreferences
) - карты мыши (
.sublime -mousemap
) - плагины (
.py
) - настройки (
.sublime-settings
) - фрагментов (
.sublime-snippet
) - определения синтаксиса (
. sublime-syntax
,.tmLanguage 900 14)
- темы (
.sublime-theme
)
Некоторые пакеты могут содержать файлы поддержки
для других пакетов или основных функций.
Например, проверка орфографии
использует установленных пакетов/языка - English.sublime-package
как хранилище данных для английских словарей.
Типы пакетов
В этом руководстве мы классифицируем пакеты для ясности при обсуждении этой темы, но Sublime Text не использует эту терминологию и не надо этому учиться.
- отправленные пакеты или пакеты по умолчанию
Набор пакетов с которым поставляется Sublime Text. Некоторые из этих пакетов являются базовыми пакетами , в то время как другие улучшают Sublime Text для поддержки распространенных языков программирования из коробки.
Примеры: по умолчанию, Python, Java, C++, Markdown.
Находится в
Отправляемых упаковках
.- основные пакеты
Sublime Text требует эти пакеты для того, чтобы функционировать должным образом.
Полный список: По умолчанию, Тема - По умолчанию, Цветовая схема - По умолчанию, Текст, Язык - Английский.
Они являются частью отправленных пакетов и находится в
Отправленные посылки
.- пользовательские пакеты
Установленные или созданные пользователем для расширения функциональности Sublime Text. Они не являются частью Sublime Text, и всегда вносятся пользователями или третьих лиц.
Пример: Пользователь.
В упаковке
Установленные пакеты
.- установленные пакеты
Подтип пользовательских пакетов .
Установленные пакеты
.sublime-package
архивы и обычно поддерживается менеджером пакетов.Находится в
Установленные пакеты
.Примечание
Из-за неудачного названия этой папки, говоря о установке пакеты в Sublime Text сбивает с толку.
Иногда в этом руководстве под установкой мы подразумеваем «добавление пользовательского/стороннего пакета в Sublime Text» (в любой форме), и иногда мы используем термин в более строгом смысле "копирование
.sublime-package
архив доУстановленные пакеты
".- пакеты переопределения
Специальный тип пользовательских пакетов .
Пакеты переопределения служат для настройки пакетов которые распространяются в виде файлов
.sublime-package
. Они эффективно вводятся в исходную упаковку и не автономный.Дополнительные сведения см. в разделе «Настройка или переопределение пакетов».
Расположен в
Пакеты
.
Обратите внимание, что третьей стороной мы также ссылаемся на пользователей других редакторы, особенно Textmate, как Sublime Text и Textmate совместно использовать некоторые типы файлов ресурсов которые можно использовать повторно без модификации.
Управление пакетами
Установка пакетов
Примечание
Обычным пользователям редко требуется знать как установить пакеты вручную, поскольку доступны автоматические менеджеры пакетов.
Фактический менеджер пакетов для Sublime Text является Управление пакетами (открывается в новом окне).
Пакеты можно установить двумя основными способами:
- путем копирования ресурсов Sublime Text
в папку под
Packages
или - , скопировав файл
.sublime-package
доУстановленные пакеты
.
Отключение пакетов
Чтобы временно отключить пакеты,
вы можете добавить их в список ignored_packages
в файле Packages/User/Preferences.sublime-settings
.
Пакеты будут загружены или выгружены по мере необходимости
при сохранении файла настроек.
Включение пакетов
Чтобы повторно включить пакет,
удалить имя пакета из списка ignored_packages
в файле Packages/User/Preferences. sublime-settings
.
Удаление пакетов
Если вы установили пакет с помощью диспетчера пакетов, удалите его, используя метод, предоставленный менеджером пакетов.
Если вы установили пакет вручную, следуйте этой процедуре, чтобы безопасно удалить пакет:
- Отключить пакет во время работы Sublime Text.
- Закрыть Sublime Text.
- Удалить ресурсы пакета с диска.
- Удалить имя пакета из списка
ignored_packages
.
В дополнение к ресурсам
вы разместили изначально
в папке Packages
или в папке Installed Packages
,
плагины могут создавать файлы конфигурации
(например, файлы .sublime-settings
)
или другие файлы для хранения данных, связанных с пакетом.
Часто вы найдете их в Пользовательский пакет .
Поэтому, если вы хотите удалить все следы пакета,
вам нужно будет найти и удалить все дополнительные файлы
что он мог быть установлен.
ПРЕДУПРЕЖДЕНИЕ
Отправленные пакеты восстанавливаются во время каждого обновления Sublime Text, так что вы не можете удалить их навсегда. Если вы хотите прекратить использование отправленного пакета, отключить его.
Настройка или переопределение пакетов
Начиная с пакетов в .sublime-package
zip-архивах
доступны только для чтения,
вы не можете изменить их напрямую.
Однако Sublime Text позволяет вам
создать пакет переопределения
который будет эффективно вставлять файлы в исходный архив
без изменения самого архива.
Чтобы создать пакет переопределения,
создайте новую папку под пакетами
и назовите его после файла .sublime-package
вы хотите переопределить, исключая расширение.
Любой файл, который вы создаете в этом пакете
будет иметь приоритет над любым файлом с таким же именем
в оригинальной упаковке.
Плагины Python в пакетах переопределения
могут использовать относительный импорт
для доступа к другим модулям в соответствующем файле .sublime-package
как если бы они были частью этого.
ПРЕДУПРЕЖДЕНИЕ
Файлы в пакетах переопределения переопределяют файлы целиком. Если переопределенный файл в соответствующем .sublime-package
обновляется,
вы не будете уведомлены.
Пакет OverrideAudit (открывается в новом окне) обеспечивает мониторинг файлов переопределения и уведомит вас когда файл, который он переопределяет, был обновлен.
Слияние и порядок приоритета
Приоритет пакетов важен для слияния определенных ресурсов,
например, .sublime-keymap
и файлы .sublime-settings
,
и для загрузки плагинов (файлы .py
).
Если существует пакет переопределения
для пакета .sublime-package
,
он будет загружен одновременно с архивом .sublime-package
.
Sublime Text загружает пакеты в следующем порядке:
-
Пакеты/по умолчанию
; - отгруженные упаковки в лексикографическом порядке;
- установленные пакеты в лексикографическом порядке;
- все оставшиеся пользовательские пакеты,
за исключением
пакетов/пользователей
, что ничего не отменяет, в лексикографическом порядке; -
Пакеты/пользователь
Возврат Sublime Text к конфигурации по умолчанию
Возврат Sublime Text к новому состоянию решает многие проблемы которые кажутся ошибками в Sublime Text но на самом деле вызваны неправильным поведением пакеты и плагины.
Чтобы вернуть Sublime Text к конфигурации по умолчанию
и удалите все ваши настройки и конфигурации,
удалить каталог данных
и перезапустите редактор.
Иметь ввиду
что Папка Installed Packages
также будет удалена,
поэтому вы потеряете все установленные пакеты.
Всегда делайте резервную копию своих данных прежде чем принимать крайние меры, как этот!
Установка лучших пакетов для Sublime Text 3 | Джейк Джонс
Установка лучших пакетов для Sublime Text 3 | Джейк Джонс | Medium2 мин чтения
·
4 августа 2020 г.
Я знаю, что многие люди любят использовать IDE для редактирования своего кода, но скорость Sublime Text 3 — это огромная победа для меня. Вот как я настроил свой.
Фото Ильи Павлова на UnsplashВо-первых, конечно же, необходимо установить Sublime Text 3. Инсталляцию можно найти здесь.
Затем нажмите cmd+shift+p в OSX, чтобы вызвать палитру команд. Введите install package и вы увидите опцию install package control .
Управление пакетами позволит вам установить множество других действительно мощных инструментов в Sublime Text.
При установке пакетов все, что вам нужно сделать, это cmd+shift+p в OSX, чтобы открыть палитру команд, затем введите package control и выберите опцию package control: install package .
Установить пакет с контролем пакетовЯ знаю пакеты, у меня самые лучшие пакеты.
Вот список всех пакетов, которые я установил:
- Значок файла — поместите несколько причудливых значков на ваши файлы, чтобы их было легче идентифицировать.
- Выравнивание — сделайте свой код организованным и читабельным.
- Подсветка скобок — выделите эти скобки и не испортите свой синтаксис.
- Git — для всех ваших потребностей репозитория git.
- Управление пакетами (да) — установить пакеты возвышенного текста.
- Менеджер проектов — перестаньте искать папки, управляйте своими проектами по имени.
- Terminus — запуск терминала во вкладке.
- Terraform — для синтаксиса Terraform.
Бум! Вот и все!
Теперь я уверен, что существует МНОЖЕСТВО других действительно мощных пакетов, которыми я не пользуюсь. Если вы знаете такие, обязательно напишите их в комментариях!
Terraform
Sublimetext
Текстовый редактор
Автор Джейк Джонс
85 Последователи
Terraform | DevOps | AWS
Еще от Джейка Джонса
Джейк Джонс
в
Стартап
Использование Terraform для создания инстанса EC2 с помощью Cloudwatch Alarm Metrics
Привет, ребята! Я хотел сделать краткое руководство о том, как я создал модуль EC2 для Terraform.
Если вы хотите увидеть репозиторий, в котором он находится…6 минут чтения · 16 октября 2020 г.
Джейк Джонс
в
Публикация FAUN
Использование Terraform для развертывания вашего веб-сайта S3 с помощью Cloudfront
Готовы автоматизировать развертывание CDN для корзины веб-сайта S3? Давайте создадим модуль, который сделает это за вас!
5 минут чтения·27 октября 2020 г.
Джейк Джонс
в
Стартап
Создание модуля EC2, который фильтрует новейший AMI Windows Server в Terraform
9 0058 Хорошо, ребята, давайте сразу к делу. Предположим, у вас есть инстанс EC2, который вы хотите автоматически искать в последнем…
4 мин. чтения · 18 октября 2020 г. Модуль 3 Bucket в Terraform
Прежде чем я начну, вы можете найти мой код в моем репозитории по этой ссылке. 18 октября 2020 г. 02
Вы используете ChatGPT неправильно! Вот как опередить 99% пользователей ChatGPT
·чтение за 7 мин·17 марта
Тимоти Мугайи
в
Лучшее программирование
Как создать свой собственный ChatGPT с пользовательской базой знаний 03
·11 минут чтения·7 апреля
Александр Нгуен
в
Кодирование для повышения уровня