Короче говоря, недавно я был назначен на работу над проектом, где мне нужно создать множество сценариев bash. Я из фона Python и использую Блокнот Jupyter за все мои разработки. Проблема со сценариями bash для меня заключается в том, что они сбивают с толку использование скобок и повторяющийся блок кодов во всех моих сценариях.
До этого момента я использовал Редактор нано для создания сценариев bash. Нано предоставляет некоторые базовые функции в качестве редактора терминала, но не более того. Итак, я провел свое исследование и выбрал «ПОДРОБНЫЙ ТЕКСТ 3»В качестве редактора для bash и других языков программирования. Я создал множество сниппетов для повторяющихся функций, однострочных и управляющих блоков для сценариев bash, которые не только сэкономили время, но и повысили мою продуктивность.
Фрагменты - это популярная функция / функциональность программирования, которая поставляется со многими современными текстовые редакторы или Редакторы IDE. Вы можете думать о сниппетах как о шаблоне, который при необходимости можно использовать повторно. Фрагменты не ограничиваются определенными языками программирования. Вы можете просто создать новый фрагмент, добавить любой текст, который хотите вставить, и назначить слово-триггер. Мы увидим все эти функции в следующем разделе.
ПРИМЕЧАНИЕ: Я использую Sublime Text 3 с Ubuntu 20.04 в качестве базовой ОС.
По умолчанию возвышенный текст поставляется с некоторыми предопределенными фрагментами для bash. Он будет корректно отображать фрагменты на основе текущего файла, из которого мы ищем фрагмент. Я нахожусь внутри сценария оболочки, и когда я вызываю команду поддон и введите фрагмент, он автоматически предоставляет список определенных фрагментов для bash.
Есть два способа получить доступ к фрагментам в Sublime Text.
Возвышенный text предоставляет шаблон по умолчанию в формате XML, когда мы создаем новый фрагмент. Для создания шаблона нужно было SUBLIME TEXT → ИНСТРУМЕНТЫ → РАЗРАБОТЧИК → НОВЫЙ СНИПЕТ.
Давайте разберемся с определением шаблона и изменим параметры.
Теперь мы сделали некоторые базовые вещи. Мы определили фрагмент, который будет вставлять простой комментарий заголовка, который связывается с «hcom”Триггер вкладки и источник сценария оболочки.
Теперь давайте откроем новый файл bash и "введите hcom“. Если вы посмотрите на изображение ниже, когда я "тип h«Мое определение фрагмента просто всплывает вместе с описанием, которое мы дали. Все, что мне нужно сделать, это нажать кнопку ключ для его расширения.
Поля обозначаются с помощью $1
, $2
, $3
и так далее. С помощью поля вы можете перейти к месту, где находится маркер поля, просто нажав ключ.
Если вы посмотрите на мой фрагмент, я добавил два маркера поля $1
и $2
, что он делает, это когда я вставляю свой фрагмент, курсор будет помещен в $1
так что я могу напечатать что-нибудь в этой позиции.
Затем мне нужно нажать кнопку клавиша для перехода к следующему маркеру $2
и напечатайте что-нибудь. Следует отметить, что когда у вас есть идентичный маркер, скажите $1
в этом случае в 2 позициях обновление поля в одной позиции обновит идентичные поля ($1)
.
$0
→ Управляет точкой выхода.Заполнители похожи на пару "ключ-значение", определенную в фигурных скобках. ${0:
маркер поля будет помечен значением по умолчанию. Вы можете изменить значение или оставить его как есть. Когда фрагмент вставлен, и если вы нажмете вкладку, курсор будет помещен в значение по умолчанию.
Теперь фрагмент вставлен со значением по умолчанию, а мышь помещена в $1
который v1
в таком случае. Либо я могу изменить значение, либо просто нажмите ключ для перехода к следующему маркеру.
Единственный недостаток с Возвышенный текст фрагменты, вы не можете сгруппировать все фрагменты в одном файле. Допускается только один фрагмент на файл, что является громоздким. Но есть и другие варианты, например, создание .sublime-завершение
файлы. Чтобы узнать больше об этом, взгляните на документация.
Файлы фрагментов должны быть сохранены с суффиксом .sublime-snippet
. Перейти к ПРЕДПОЧТЕНИЯ → ПРОСМОТРЕТЬ ПАКЕТЫ. Он откроет каталог, в котором хранятся пользовательские настройки. Перейдите в каталог «Пользователь», Где будет сохранен ваш файл сниппета.
Приложение-генератор сниппетов обеспечивает автоматическое создание сниппетов на основе наших вводимых данных. Это доступно для Возвышенный текст, Атом, и VSCode. Введите описание, триггер вкладки и контент слева, который будет генерировать живой код в правой части страницы.
Пример фрагмента, который получит имя кластера из API Ambari.
Это все на сегодня. Мы увидели преимущества использования фрагменты в возвышенный текст. Я только что использовал простой псевдотекст в качестве примера, чтобы продемонстрировать функцию фрагментов, но это еще не все. Я также хотел бы отметить, что эта функция доступна во всех редакторах / IDE, например Vim, Атом, Затмение, Pycharm, Vscode, и т.п.