Какой кроссплатформенный текстовый редактор с графическим интерфейсом для Linux shell scripting?

Вопрос или проблема

Как сказано в заголовке, я ищу текстовый редактор высокого качества для скриптинга в POSIX shell.

Требования:

  • Самое важное для меня — это подсветка синтаксиса:

    • Я восхищаюсь быстрым запуском Sublime Text, но он не распознаёт переменные внутри строк:

      [ -f "${backup_file}" ] && echo "File ${backup_file} exists, exiting." && exit 1
      

      Как в этом тестовом случае, где он просто не сможет выделить переменные «из коробки», по крайней мере.

  • Кроссплатформенность, так как я работаю в основном на Windows 10 (запуская скрипты в Cygwin), но также и на Linux Mint 19.

  • Хотя предпочтительнее, чтобы это была open-source программа, это не обязательно.

  • Я готов за нее заплатить, так что она не обязана быть бесплатной.

  • Должна иметь графический интерфейс, так что редактор командной строки не подходит.

  • Не обязана быть быстрой, просто обеспечьте меня подсветкой синтаксиса переменных и других вещей shell скриптов «из коробки».


Скрипт-референс был размещён в моём собственном ответе на Code Review.


Основная мысль

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


Продолжение

Хотя я был поражён, как быстро может запускаться gVim Easy, после двух дней, потраченных на _vimrc и настройку под мои ожидания, я немного устал от него и не уверен, что это стоит всех усилий для меня, так как я не постоянный редактор, я просто пишу shell скрипты и после нескольких часов, проведённых в Visual Studio Code, чувствуя себя как дома, я готов сказать, что моё решение было несколько поспешным, и я искренне задумываюсь о переходе на Visual Studio Code с Sublime Text, а не на gVim, так как он работает почти идеально «из коробки». На данный момент я не сделал никаких изменений в настройках, которые мне пришлось бы делать с gVim Easy при каждом переустановке и/или переходе на другой компьютер. Я не на 100% уверен, что когда-нибудь не буду использовать семейство vim, но что касается этого вопроса, для будущих читателей, следует рекомендовать Visual Studio Code, и поэтому я принимаю это решение.

Visual Studio Code

Плюсы:

  • Кроссплатформенность (Windows, Linux, Mac)

  • Open-source, см. его страницу на GitHub, хотя есть некоторые разногласия по этому поводу

  • Бесплатно, лицензия MIT

  • Быстрее, чем Atom

  • Автозаполнение IntelliSense

  • Время запуска на Dell 7577-92774: 3 секунды

  • Подсветка синтаксиса скриптов shell с сильным цветом для переменных:

  • Доступен плагин ShellCheck, который делает его действительно сильным конкурентом для shell скриптинга

  • Интегрированный терминал Linux, что вызывает у меня восхищение!

    Code

Минусы:

  • Гораздо медленнее, чем gVim

  • Медленнее, чем Sublime Text

  • Кому-то может не понравиться, что это продукт Microsoft

gVim

Плюсы:

  • Кроссплатформенность (Windows, Linux, Mac, Amiga, OS/2, другие, даже Android и iOS)
  • Open-source, см. его страницу на GitHub
  • Бесплатно (однако рекомендуется сделать пожертвование на благотворительность), лицензия GPL с благотворительностью
  • Быстрый и экономичный по памяти
  • Поддерживает как GUI, так и CLI
  • Пользователи Mac и Linux, вероятно, уже имеют его установленным, за исключением Linux Mint 19, где он вообще не установлен и может быть установлен как пакет vim-gtk3
  • Время запуска на Dell 7577-92774: 0.1 секунды
  • Подсветка синтаксиса с сильным цветом для переменных (цветовая схема Atomified):

    gVim screenshot

Минусы:

gVim Easy

Поскольку дизайн vim основан на vi, он довольно сильно отличается от большинства других текстовых редакторов, и поэтому приобрёл репутацию трудного в использовании. Однако существует режим Easy, который делает vim более или менее похожим на стандартный текстовый редактор. В этом случае он называется gVim Easy, и в этом режиме его можно запустить, просто добавив аргумент -y.

Atom

Плюсы:

  • Кроссплатформенность (Windows, Linux, Mac)

  • Open-source, см. его страницу на GitHub

  • Бесплатно, лицензия MIT

  • Подсветка синтаксиса скриптов shell с сильным цветом для переменных:

    Atom

Минусы:

  • Время запуска на Dell 7577-92774: 5 секунд

  • Гораздо, гораздо медленнее, чем gVim

  • Значительно медленнее, чем Sublime Text и немного медленнее, чем Visual Studio Code

  • (Мне он кажется довольно скучным, но это уже вопрос мнения)

Kate

Плюсы:

  • Кроссплатформенность (Linux, Mac OS, Windows)
  • Open source
  • Бесплатное ПО (GPL)
  • Быстрый
  • Поддерживает подсветку синтаксиса для множества различных файлов (разметка, скрипты, исходный код, конфигурация и т. д.)
  • Содержит плагины вроде терминала или браузера файлов, поддерживаются и пользовательские
  • Высоко настраиваемый
  • Имеет режим vi
  • Это не электронное приложение (маленький размер (AppImage ~50 МБ), низкое потребление памяти, низкое потребление батареи, меньше использование процессора, ПК может снижать производительность и снижать энергопотребление)

Kate

Минусы:

  • KDE-приложение, поэтому вам нужно будет установить некоторые вещи из KDE и Qt, если вы не используете что-либо из этого

Emacs

Плюсы:

  • Кроссплатформенность
  • Свободное и открытое ПО
  • Бесплатно
  • Поддерживает как GUI, так и CLI использование, даже для одного экземпляра одновременно. Вы можете иметь окна emacs на вашем рабочем столе; вход через ssh и просматривать те же файлы и изменения через CLI.
  • Может иметь несколько окон (как X11 окна) для одного экземпляра. Это отлично, если вы используете оконный менеджер с поддержкой расположения окон.
  • Имеет подсветку синтаксиса
  • Легко расширяется на лету с помощью Emacs Lisp
  • Имеет множество пакетов для многих задач, таких как изменение вашего кода во время его выполнения (не только lisp, но и javascript в браузере и др.), или быть вашим почтовым клиентом.

enter image description here

Минусы:

  • vim имеет гораздо лучшее связывание клавиш. Существует пакет evil для наличия связывания клавиш vim в emacs, но он вступает в конфликт с другими использованиями emacs.
  • vim позволяет проще взаимодействовать с другими командами ОС через :r !, :w ! и :%!
  • макросы vim обойдут макросы emacs в любой день
  • emacs имеет концепцию “главных режимов”, которые связаны с типами файлов и определяют связывание клавиш и переменные для управления поведением emacs. Идея заключается в том, что для каждого типа файла может быть разный идеальный подход в работе с ним. К сожалению, это означает менее консистентное использование emacs для разных типов файлов. Некоторые «главные режимы», которые я загружал, были отличными, и для их языков я использую emacs. Однако для других языков vim — мой выбор.

Geany

Кроссплатформенность. Лицензия GPL. Подсветка синтаксиса. Фактически это очень легковесная IDE — имеет кнопки “компиляция”, “сборка” и другие, которые могут настраиваться для соответствующих типов файлов/расширений.

Минусы:

  • Не узнает переменные внутри строк.

Geany Ubuntu bash

CudaText с плагином “Hilite Vars”.

Плюсы:

  • Кроссплатформенность (Linux, Mac, Windows)
  • Open Source
  • Бесплатно
  • Скорость почти как у Sublime
  • Подсветка синтаксиса для Bash с плагином “Hilite Vars” (в менеджере дополнений), который подсвечивает переменные внутри строк

CudaText screenshot

jEdit

Написан на Java и работает практически на любой платформе, поддерживающей Java. Бесплатно для загрузки с http://www.jedit.org/index.php?page=download. Подсветка синтаксиса для shell скриптов работает отлично — я использую его ежедневно на работе. Есть множество плагинов, позволяющих настроить его под ваши нужды.

jEdit screenshot

Я не являюсь участником этого проекта, просто счастливый пользователь.

Code::Blocks довольно хорош
Настройки и использование VScode слишком большие и громоздкие для моих вкусов. Хотя моя разработка довольно лёгкая, так что не стоит моего времени действительно изучать несколько IDE.

Я нахожу, что Kwrite/Kate — это мой основной редактор в наши дни, очень хорошая подсветка синтаксиса для многих языков и хорошее поведение при отступах, которое может быть установлено под различные руководства по стилю. И легко настраиваемый. Хотя я придерживаюсь старой версии 20.12.2 Kwrite, до того, как они добавили вкладки (Плохо реализованные стандартные поведения. Kate уже имеет [хорошие] вкладки, когда они требуются. Я должен попробовать обновлённый Kwrite снова, возможно, недостатки с вкладками теперь исправлены.).

Я также использую немало VIM, когда редактирую конфигурационные файлы и подобное.

Ответ или решение

Если вы ищете кроссплатформенный графический редактор для работы с shell-скриптами в Linux, учитывая ваши требования к подсветке синтаксиса и работе на разных операционных системах, вы можете рассмотреть следующие текстовые редакторы:

Visual Studio Code

Достоинства:

  1. Кроссплатформенность – Работает на Windows, Linux и MacOS.
  2. Бесплатность и открытость – Распространяется по лицензии MIT.
  3. Подсветка синтаксиса – Поддерживает яркую подсветку для переменных в shell-скриптах.
  4. Плагин ShellCheck – Включает мощные инструменты для работы с shell-скриптами.
  5. Интегрированный терминал Linux – Упрощает выполнение команд прямо из редактора.

Недостатки:

  1. Производительность – Не так быстр, как некоторые другие редакторы, например, Sublime Text или gVim.
  2. Происхождение – Для некоторых пользователей может быть минусом, что это продукт Microsoft.

gVim

Достоинства:

  1. Кроссплатформенность – Поддерживается на множестве систем: Windows, Linux, MacOS и других.
  2. Быстрый запуск и малая нагрузка на память – Идеален для пользователей, ценящих скорость.
  3. Поддержка GUI и CLI – Удобен для разных стилей работы.
  4. Поддержка подсветки синтаксиса – Особенно с использованием цветовых схем, таких как Atomified.

Недостатки:

  1. Крутая кривая обучения – Может быть сложным в освоении для новичков, хотя режим Easy Mode упрощает работу.

Atom

Достоинства:

  1. Кроссплатформенность – Доступен для Windows, Linux и MacOS.
  2. Гибкость и настраиваемость – Поддержка большого количества синтаксисов и возможность установки множества расширений.
  3. Ориентирован на разработчика – Хорошая подсветка синтаксиса и поддержка переменных в строках.

Недостатки:

  1. Медленный старт – Было замечено снижение скорости запуска по сравнению с другими редакторами.

Kate

Достоинства:

  1. Оптимизация – Нет использования фреймворков типа Electron, что уменьшает потребление ресурсов.
  2. Высокая настраиваемость – Поддержка различных плагинов и настроек.
  3. Кроссплатформенность – Доступен на Linux, Windows и MacOS.

Недостатки:

  1. Зависимости от KDE и Qt – Если ваша система не использует эти технологии, потребуется установить дополнительные компоненты.

Ваш выбор будет зависеть от ваших личных предпочтений, таких как важность скорости запуска, уровень настройки или поддержки различных платформ. Если для вас важнее всего "работа из коробки" и интеграция с другими инструментами, Visual Studio Code будет отличным вариантом. Однако, если вы ищете максимальную скорость и эффективность, стоит обратить внимание на gVim.

Оцените материал
Добавить комментарий

Капча загружается...