Документация Engee

Командная строка

Командная строка img 41 1 2 — это инструмент для выполнения широкого спектра задач, от исполнения кода до создания сложных моделей в Engee. Благодаря поддержке популярных текстовых редакторов, интеграции с Git и различными режимами работы, а также многочисленным командам управления, командная строка интегрируется во все сценарии работы Engee.

В статье рассмотрены:

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

В командной строке Engee доступны различные горячие клавиши, упрощающие навигацию и редактирование, например:

  • — посмотреть предыдущую команду из истории команд.

  • — посмотреть следующую команду из истории команд.

  • — перемещает курсор на один символ влево.

  • — перемещает курсор на один символ вправо.

Некоторые команды для операционных систем Linux и macOS могут не работать корректно из-за особенностей метасимволов, системных горячих клавиш и программных настроек.

  • g+c — открыть командную строку и сделать окно активным.

  • o+c — открыть командную строку и не делать окно активным.

  • m+c — максимизировать окно командной строки.

  • c+c (двойное нажатие) — закрыть окно командной строки.

  • Ctrl+ — переместить курсор на целое слово влево.

  • Ctrl+ — переместить курсор на целое слово вправо.

  • Ctrl+A — переместить курсор в начало строки. Аналогично для Alt+A.

  • Ctrl+E — переместить курсор в конец строки. Аналогично для Alt+E.

  • Ctrl+K — удалить текст от курсора до конца строки.

  • Ctrl+U — удалить текст от курсора до начала строки.

  • Ctrl+C — прервать текущую команду.

  • Ctrl+L — очистить экран терминала.

  • Ctrl+Y — вставить последний удаленный текст.

  • Ctrl+J — перевести строку на следующий абзац.

Для macOS вместо Ctrl используется Command (⌘) и Option вместо Alt.


  • Alt+ЛКМ — переместить курсор в выбранное место.

  • Shift+ — выделить текст посимвольно влево.

  • Shift+ — выделить текст посимвольно вправо.

Сочетание из введенной строки на латинице и клавиши Tab, отобразит список доступных команд Engee, начинающихся с набранной строки. Tab в пустой строке отобразит список всех доступных команд Engee.

Для отображения команд в Engee требуется инициализация, поэтому Tab работает со второго раза; после этого данные кэшируются и Tab работает с первого раза. При вводе новой команды требуется повторная инициализация и повторное двойное нажатие Tab.

Для переопределения или создания новых горячих клавиш используется словарь REPL.setup_interface (подробнее здесь).

Режимы командной строки

Разные режимы командной строки Engee обеспечивают специализированные среды для выполнения различных задач. Эти режимы помогают переключаться между задачами, не покидая командной строки. В Engee доступны:

  1. Обычный режим

  2. Режим справки

  3. Режим оболочки

  4. Режим пакетного менеджера

  5. Режимы поиска

  6. Режимы редактора текста

Обычный режим

Обычный режим является основным интерфейсом командной строки, позволяет интерактивно вводить команды, выполнять их и сразу же получать результат. Ядром Engee является язык Julia, поэтому в командной строке доступен весь функционал языка с его преимуществами, особенностями синтаксиса и не только.

command line 1

Подробнее о возможностях языка Julia читайте здесь.

Режим справки

Режим справки вызывается с помощью вопросительного знака ?. Этот режим позволяет получить информацию о доступных в Engee командах и их использовании. Например, для получения информации о функции сохранения модели engee.save введите название функции и нажмите Enter:

command line 2

Для выхода из режима нажмите клавишу Backspace или сочетание клавиш Ctrl+C.

Режим оболочки

Режим оболочки вызывается с помощью символа ;. Этот режим позволяет выполнять стандартные команды Unix/Linux. Это включает в себя навигацию по файловой системе, управление процессами, работу с файлами и другие задачи.

Например, в директории new_directory файлового браузера Engee file browser 7 находится файл модели newmodel_1.engee:

command line 3

С помощью режима оболочки и команды ls можно посмотреть содержимое директории не покидая командной строки:

command line 4

Среди основных команд в режиме оболочки можно выделить:

Команда Описание

mv

Перемещение или переименование файлов и директорий

rmdir
rm -r

Удаление файлов и директорий

mkdir

Создание директорий

ls

Список содержимого директории

cd

Изменение текущей директории

pwd

Показ текущей директории

cp

Копирование файлов и директорий

cat

Просмотр содержимого файла

echo

Вывод строки текста

Для выхода из режима нажмите клавишу Backspace или сочетание клавиш Ctrl+C.

Режим пакетного менеджера

Режим пакетного менеджера Pkg вызывается с помощью символа ]. Этот режим позволяет устанавливать, обновлять и управлять пакетами Julia, что необходимо для расширения функциональности и установки дополнительных библиотек. Например, для добавления библиотеки Pluto:

command line 5

Подробнее о работе с библиотеками Julia в Engee читайте здесь.

Режимы поиска

Режимы поиска вызываются с помощью комбинаций клавиш Ctrl+R для обратного (reverse) и Ctrl+S для прямого (forward) поиска соответственно:

Режим поиска Описание

Обратный поиск

Позволяет выполнять поиск по истории команд в обратном порядке. Введите часть команды или слово, и командная строка начнет искать в истории, начиная с последней введенной команды в обратном порядке. Повторное нажатие клавиш Ctrl+R продолжит поиск по истории в обратном порядке.

Прямой поиск

Позволяет выполнять поиск по истории команд в прямом порядке. Введите часть команды или слово, и командная строка начнет искать в истории, начиная с первой введенной команды в прямом порядке. Повторное нажатие клавиш Ctrl+S продолжит поиск по истории в прямом порядке.

command line 6

Если поиск не дал результатов — к режиму будет приписано failed.

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

Для выхода из режима нажмите клавишу Backspace или Home или сочетание клавиш Ctrl+C.

Режимы редактора текста

Перед началом работы с текстовыми редакторами vi, vim и nano в командной строке Engee рекомендуется изучить их функционал. При возникновении трудностей обращайтесь к литературе соответствующего редактора или иным источникам.

Режимы текстовых редакторов vi, vim и nano вызываются из режима оболочки (shell) с помощью команд vi, vim и nano соответственно и позволяют редактировать файлы не выходя из командной строки.

Интерфейс vi/vim:

git vi 1

Интерфейс nano:

git nano s

Для выхода:

  • vi, vim — нажмите клавишу Esc, чтобы убедиться, что редактор находится в режиме команд (normal mode). Затем введите команду :q! и нажмите клавишу Enter для выхода без сохранения изменений. Если внесены изменения которые нужно сохранить, то используется команда :wq.

  • nano — нажмите комбинацию клавиш Ctrl+X для выхода. Если внесены изменения которые нужно сохранить, то нажмите Y и после Enter. Для выхода без сохранения нажмите N и затем Enter.

    • Если сохранить изменения, то редактор предложит ввести имя файла для сохранения. Введите имя файла и нажмите Enter.

    • Если не сохранять изменения, то редактор закроется без сохранения.

После выхода из текстовых редакторов командная строка остается в режиме оболочки. Для выхода из режима оболочки нажмите клавишу Backspace или сочетание клавиш Ctrl+C.

Программное управление моделированием

Для программного управления моделями в Engee используются публичные методы. Вызвать все доступные публичные методы можно командой engee. и нажатием клавиши Tab в командной строке:

example prog modeling 2

Получить справку по каждому публичному методу можно через режим справки командной строки:

example prog modeling 4

Например, можно создать модель, добавить в нее блоки с соединительными линиями, задать им параметры и запустить симуляцию модели не выходя из командной строки:

engee.create("newmodel_1") #создается модель newmodel_1

engee.add_block("/Basic/Sources/Sine Wave", "newmodel_1/") #добавляет блок Sine Wave

engee.add_block("/Basic/Sinks/Terminator", "newmodel_1/") # добавляет блок Terminator

engee.add_line("Sine Wave/1", "Terminator/1")  #устанавливает сигнал между выходным портом №1 у блока Sin Wave и входным портом №1 блока Terminator

engee.get_param("newmodel_1") #получение параметров моделирования

engee.set_param!("newmodel_1", "StopTime" => 15, "FixedStep" => 0.05) # меняем фиксированный размер шага и время окончания симуляции

engee.run("newmodel_1"; verbose=false) #запуск симуляции без вывода прогресса симуляции (verbose=false)

График, построенный с помощью Plots в командной строке, будет выведен в окно Графики graphs icon 1 Engee на отдельную вкладку plot:

plots graph 1plots graph

Подробнее об управлении моделированием читайте здесь.

Функции ввода/вывода

Engee поддерживает различные форматы файлов, данными которых можно управлять с помощью функций ввода/вывода в командной строке. Например, в файловом браузере Engee есть файл формата .json:

command line read 1

Для прочтения данных в командной строке используется функция read:

engee> read("test.json")

#вывод результата в виде массива байт
69-element Vector{UInt8}:
 0x7b
 0x0d
 0x0a
    ⋮
 0x0a
 0x7d

Функция read может принимать аргумент представления. В данном случае String (строка), следовательно, вывод функции преобразуется в строку:

engee> read("test.json", String) #считывает содержимое файла и возвращает его в виде строки

#вывод результата
"{\n    \"fruit\": \"Apple\",\n    \"size\": \"Large\",\n    \"color\": \"Red\"\n}"

Интеграция с Git

Командная строка обеспечивает полный цикл версионного контроля, что позволяет управлять своими проектами и репозиториями, не покидая рабочее пространство Engee.

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

Пример указания SSH-ключа и хостинга представлен через редактор nano в командной строке.