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

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

Требования:

  • Наиболее важным для меня является подсветка синтаксиса:

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

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

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

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

  • Хотя это предпочтительно, он не обязательно должен быть с открытым исходным кодом.

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

  • Должен быть с графическим пользовательским интерфейсом, поэтому редактор CLI не подходит.

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


Справочный сценарий был опубликован в моем собственном ответе на Code Review .


Нижняя линия

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


Следовать за

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

Вы пробовали пакет «синтаксис dotfiles» с Sublime Text? Опубликованная вами строка дает это -> i.imgur.com/C2Gu01u.png
С учетом «Последующих действий» стоит добавить опцию « VS Codium », версию Visual Studio Code без телеметрии/отслеживания FOSS.

Ответы (9)

Код Visual Studio

Плюсы:

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

  • Открытый исходный код, см. его страницу GitHub , хотя об этом есть некоторый туман .

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

  • Быстрее, чем атом

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

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

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

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

  • Встроенный терминал Linux, который заставляет меня сказать «вау!»

    Код

Минусы:

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

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

  • Кого-то может смутить, что это от Microsoft

@hvd Дальнейшее (слегка противоречивое) обсуждение здесь , здесь и здесь .
VS Code также невероятно прост в освоении и быстром изучении.
[Повторено из комментария к «Последованию» OP] Также стоит добавить опцию « VS Codium », версию Visual Studio Code FOSS без телеметрии / отслеживания .

gVim

Плюсы:

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

    Скриншот gVim

Минусы:

gVim Easy

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

@el.pescado :qдолжен выйти из него. :q!если вы внесли изменения, которые вы не хотите сохранять, и :xесли вы внесли изменения, которые вы хотите сохранить. В GVim я ожидал соответствующей записи в меню «Файл» (я никогда не использовал вариант с графическим интерфейсом).
Конечно, вы set guioptions=''добавляете свой gvimrc, чтобы скрыть эти надоедливые задачи и полосы прокрутки.
Есть дополнительная ценность в изучении vi/vim/gvim. Во-первых, редактор vi является частью стандартной установки почти для всех Unix и Unix-подобных ОС в известной вселенной — таким образом, изучение vi означает, что вы можете редактировать файл в среде с графическим интерфейсом или без графического интерфейса на любом устройстве Unix, которое вам нужно. . Во-вторых, поиск и замена в vi ОЧЕНЬ близки к тому, что используется в sed. Таким образом, изучая :<диапазон> s/this/that/g в vi, вы также получаете некоторые навыки использования sed.
@Petro Однажды, когда мне пришлось использовать ed ([стандартный текстовый редактор] gnu.org/fun/jokes/ed-msg.html ), я был счастлив, что раньше использовал vim. (Пришлось использовать ed из-за сломанной консоли)
mac определенно не имеет установленного Gvim по умолчанию. У него есть «Vim» — терминальная версия. Вы можете установить Gvim одним из нескольких способов, например, через Homebrew или загрузить MacVim.
Один недостаток Vim (и, соответственно, gVim) заключается в том, что при открытии файлов (по крайней мере, по умолчанию) большие файлы открываются дольше. (Файл размером 1 ГБ занял несколько минут, IIRC.) Однако это не проблема со сценариями оболочки.

Атом

Плюсы:

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

  • Открытый исходный код, см. его страницу GitHub.

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

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

    Атом

Минусы:

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

  • Намного, намного медленнее, чем gVim

  • Гораздо медленнее, чем Sublime Text , и немного медленнее, чем Visual Studio Code .

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

На самом деле у Atom много проблем с выделением длинных строк и других языков, таких как SQL, PHP и прочее. Кроме этого, твердый ответ!
Я попробовал Atom, но не смог заставить его открывать файлы в том же экземпляре (на новой вкладке): когда я дважды щелкал файл, они всегда открывали новое окно Atom, что мне не нравится. Это часть рабочего процесса наших веб-дизайнеров (например, для создания связанных файлов css из scss), поэтому я хотел бы вернуться к этому. Я думаю, мне нужно еще раз попытаться взломать вкладки против окон.

Кейт

Плюсы:

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

Кейт

Минусы:

  • Приложение KDE, поэтому вам нужно использовать кое-что из KDE и Qt, если вы ничего из этого не используете.
Раньше использовал Kate / Kwrite, но значки начали исчезать при запуске в среде рабочего стола, отличной от KDE, даже при всех установленных библиотеках KDE.
Иконки @ivanivan исчезают в Kate или в несвязанных приложениях?
@Руслан - в Кате. Важные вещи, такие как кнопка Сохранить....
@ivanivan, вы можете попробовать установить значки Oxygen или KFaenza (или любые другие официальные значки, используемые по умолчанию в современном KDE): KDE, похоже, имеет некоторые различия в именах или расположении некоторых значков. Я помню, что в стиле Oxygen-gtk есть некоторая логика для сопоставления значков KDE с значками GTK для достижения согласованного вида.
@Ruslan - я выполнил полную установку KDE - значок отсутствует, если на самом деле не запущен рабочий стол KDE (я предпочитаю MATE). Больше не проблема - не хотелось использовать сотни мегабайт памяти для библиотек и т. Д. Для одного приложения. Очень счастлив с Джини в качестве замены, даже счастливее, чем меня сделала Кейт.

Emacs

Плюсы:

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

введите описание изображения здесь

Минусы:

  • vim имеет лучшие сочетания клавиш. Есть пакет evilдля связывания клавиш vim в emacs, но он мешает другому использованию emacs.
  • vim упрощает взаимодействие с другими командами ОС через :r !, :w !и:%!
  • макросы vim побеждают макросы emacs в любой день
  • В emacs есть идея «основных режимов», которые привязаны к типам файлов и определяют сочетания клавиш и переменные для управления поведением emacs. Идея состоит в том, что каждый тип файла может иметь свой идеальный способ работы с ним. К сожалению, это означает менее последовательное использование emacs для разных типов файлов. Некоторые основные режимы, которые я скачал, великолепны, и для их языков я использую emacs. Однако для других языков я предпочитаю vim.
Все еще есть проблемы с загрузкой с «голого железа» :)
Если я правильно вижу, то на изображении видно, что оно НЕ распознает переменные внутри строк в соответствии с моим требованием!
Что вы имеете в виду под «улучшенными сочетаниями клавиш», что - то не так с Escape Meta Alt Control Shift
Ничего себе, вы переключаетесь между emacs и vim для разных файлов? Уважать. Я использовал каждый из них экстенсивно, но я могу обрабатывать только один набор нажатий клавиш редактирования за раз...

Джини

Кросс-платформа. Лицензия GPL. Высокое освещение синтаксиса. На самом деле очень легкая IDE - есть кнопки для "компиляции", "сборки" и такие, которые могут иметь определенные действия, установленные для соответствующих типов файлов/расширений.

Минусы:

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

Geany Ubuntu Баш

jПравить

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

jРедактировать скриншот

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

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

Плюсы:

  • Кроссплатформенность (Linux, Mac, Windows)
  • Открытый источник
  • Бесплатно
  • Скорость почти как у Sublime
  • Подсветка синтаксиса для Bash, с плагином «Hilite Vars» (в Addon Manager) он выделяет переменные в строках

Скриншот CudaText

Настройка и использование NetBeans
VScode, на мой взгляд, немного громоздки и громоздки, хотя моя работа по разработке довольно легка, поэтому мне не стоит тратить время на знакомство с несколькими IDE. Крайт мне тоже нравится. Для меня NetBeans для многофайловых и скомпилированных проектов (C++) и Kwrite для быстрых одностраничных сценариев. (Я также использую консольный VIM, в основном потому, что я выполняю много административной работы по ssh, gVIM просто кажется мне неудобным.)