¿Qué editor de texto GUI multiplataforma para secuencias de comandos de shell de Linux?

Como dice el título, busco un editor de texto de alta calidad para secuencias de comandos de shell POSIX.

Requisitos:

  • Lo más importante para mí es el resaltado de sintaxis:

    • Admiro la rápida puesta en marcha de Sublime Text , pero no reconoce variables dentro de cadenas :

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

      Como en este caso de prueba, donde simplemente no resalta las variables al menos de forma predeterminada.

  • Multiplataforma, porque trabajo principalmente en Windows 10 (ejecutando scripts en Cygwin), pero también en Linux Mint 19.

  • Aunque se prefiere, no tiene que ser de código abierto.

  • También estoy dispuesto a pagar por ello, así que no tiene que ser gratis.

  • Debe tener una interfaz gráfica de usuario, por lo que un editor CLI no funciona.

  • No tiene que ser rápido, solo consígueme el resaltado de sintaxis de las variables y otras cosas relacionadas con el script de shell de forma inmediata.


El script de referencia se ha publicado dentro de mi propia respuesta en Code Review .


Línea de fondo

La solución aceptada es gVim Easy , porque después de pequeños ajustes en mi pantalla HiDPI, se convirtió en el editor más rápido y probablemente el más poderoso que he visto. Sin embargo, tengo la intención de usarlo en el modo Fácil para experimentar la edición normal , pero más adelante, podría usar su poder real.


Seguimiento

Sin embargo, me sorprendió lo rápido que gVim Easy podía iniciarse, después de pasar dos días _vimrcy configurar las cosas según mis expectativas, estoy un poco cansado y no estoy seguro de que valga la pena para mí, porque soy no tengo un editor pesado, solo escribo scripts de shell, y después de pasar varias horas en Visual Studio Code , sintiéndome como en casa, estoy preparado para decir que mi decisión fue bastante precipitada y realmente estoy contemplando cambiar a Visual Studio Code de Sublime Text en su lugar . de a gVim porque funciona casi a la perfección. Hasta ahora ni siquiera he hecho ningún cambio en la configuración, que tendría que hacer con gVim Easysiempre que reinstale y/o se traslade a otra computadora. No estoy 100% seguro de que nunca usaré la vimfamilia, pero en cuanto a esta pregunta, para futuros lectores, se debe recomendar Visual Studio Code y, por lo tanto, acepto esa solución.

¿Has probado el paquete "sintaxis dotfiles" con Sublime Text? La línea que publicaste produce esto -> i.imgur.com/C2Gu01u.png
En vista del "Seguimiento", vale la pena agregar la opción de " VS Codium ", la versión FOSS libre de telemetría/seguimiento de Visual Studio Code.

Respuestas (9)

código de estudio visual

Ventajas:

  • Multiplataforma (Windows, Linux, Mac)

  • Código abierto, vea su página de GitHub , aunque hay algo de confusión al respecto

  • Gratuito, licencia MIT

  • Más rápido que el átomo

  • Autocompletar de IntelliSense

  • Tiempo de inicio en Dell 7577-92774: 3 segundos

  • Resaltado de sintaxis de shell script con color fuerte para variables:

  • El complemento ShellCheck está disponible, lo que lo convierte en un competidor realmente fuerte para las secuencias de comandos de Shell

  • Terminal Linux integrado, lo que me hace decir ¡guau!

    Código

Contras:

  • Mucho más lento que gVim

  • Más lento que Sublime Text

  • Para alguien puede ser desagradable que venga de Microsoft

@hvd Discusión adicional (ligeramente contradictoria) aquí , aquí y aquí .
VS Code también es increíblemente fácil de usar y aprender mucho sobre él rápidamente.
[Repetido del comentario sobre el "Seguimiento" de OP] También vale la pena agregar la opción de " VS Codium ", la versión FOSS libre de telemetría/seguimiento de Visual Studio Code.

gVim

Ventajas:

  • Multiplataforma (Windows, Linux, Mac, Amiga, OS/2, otros , incluso Android e iOS)
  • Código abierto, consulte su página de GitHub
  • Gratuito (aunque fomenta la donación benéfica), licencia GPL con Charityware
  • Rápido y eficiente en memoria
  • Soporta GUI y CLI
  • Los usuarios de Mac y Linux probablemente ya lo tengan instalado, a excepción de Linux Mint 19 de OP, donde no está instalado en absoluto y se puede instalar como paquete.vim-gtk3
  • Tiempo de inicio en Dell 7577-92774: 0,1 segundos
  • Resaltado de sintaxis con color fuerte para variables ( esquema de color atomizado ):

    captura de pantalla de gVim

Contras:

gvim fácil

Como vimel diseño se basa en vi, es bastante diferente a la mayoría de los otros editores de texto, por lo que ganó notoriedad por ser difícil de usar. Sin embargo, existe el modo Fácil , que hace que vimfuncione más o menos como un editor de texto estándar. En este caso se llama gVim Easy y en este modo se puede lanzar simplemente agregando un -yargumento.

@el.pescado :qdebería salir. :q!si realizó cambios, no desea guardarlos, y :xsi ha realizado cambios , desea guardarlos. En GVim, esperaría una entrada correspondiente en el menú "Archivo" (nunca usé la variante GUI).
Por supuesto que pones set guioptions=''tu gvimrc para ocultar esas molestas tareas y barras de desplazamiento.
Hay un valor adicional en el aprendizaje de vi/vim/gvim. En primer lugar, el editor vi es parte de la instalación estándar en casi todos los sistemas operativos unix y similares a unix en el universo conocido; por lo tanto, aprender vi significa que puede editar un archivo en un entorno GUI o no GUI en cualquier caja unix que necesite. . En segundo lugar, la búsqueda y reemplazo en vi es MUY similar a lo que se usa en sed. Entonces, al aprender :<rango> s/this/that/g en vi, también obtendrá alguna transferencia de habilidad para usar sed.
@Petro Un día, cuando tuve que usar ed ([el editor de texto estándar] gnu.org/fun/jokes/ed-msg.html ), estaba feliz de haber usado vim antes. (Tuve que usar ed debido a una consola rota)
Mac definitivamente no tiene Gvim instalado por defecto. Tiene "Vim", la versión de terminal. Puede instalar Gvim de varias maneras, por ejemplo, a través de Homebrew o descargar MacVim
Una desventaja de Vim (y por extensión, gVim) es que, por la forma en que abre los archivos (al menos de forma predeterminada), los archivos más grandes tardan más en abrirse. (Un archivo de 1 GB tomó minutos, IIRC). Sin embargo, eso no es un problema con los scripts de shell.

Átomo

Ventajas:

  • Multiplataforma (Windows, Linux, Mac)

  • Código abierto, consulte su página de GitHub

  • Gratuito, licencia MIT

  • Resaltado de sintaxis de shell script con color fuerte para variables:

    Átomo

Contras:

  • Tiempo de inicio en Dell 7577-92774: 5 segundos

  • Mucho, mucho más lento que gVim

  • Mucho más lento que Sublime Text y un poco más lento que Visual Studio Code

  • (Me parece bastante aburrido, pero esto ciertamente está basado en opiniones)

Atom en realidad tiene muchos problemas para resaltar líneas largas y otros lenguajes, como SQL, PHP y demás. Aparte de eso, ¡respuesta sólida!
Probé Atom pero no pude hacer que abriera archivos en la misma instancia (en una nueva pestaña): cuando hacía doble clic en un archivo, siempre abría una nueva ventana de Atom, que no es como me gusta trabajar. Es parte del flujo de trabajo de nuestros diseñadores web (p. ej., para crear archivos css concatenados a partir de scss), por lo que me gustaría retomarlo. Creo que necesito intentarlo de nuevo y tratar de descifrar las pestañas contra las ventanas.

Kate

Ventajas:

  • Multiplataforma (Linux, Mac OS, Windows)
  • Fuente abierta
  • software libre (GPL)
  • Rápido
  • Tiene soporte de resaltado de sintaxis para muchos archivos diferentes (marcas, scripts, código fuente, configuración, ...)
  • Viene con complementos como un terminal o un navegador de archivos, también se admiten los personalizados
  • Altamente personalizable
  • Tiene modo vi
  • No es una aplicación electrónica (tamaño pequeño (AppImage es de ~50 MB), bajo uso de memoria, bajo uso de batería, menos potencia de CPU, la PC puede acelerar y reducir el consumo de energía)

Kate

Contras:

  • aplicación de KDE, por lo que debe obtener algunas de las cosas de KDE y Qt si no está usando nada de eso
Solía ​​​​usar Kate/Kwrite, pero los iconos comenzaron a desaparecer cuando se ejecutaba en un entorno de escritorio que no era KDE, incluso con todas las bibliotecas de KDE instaladas.
¿Iconos de @ivanivan que desaparecen en Kate o en aplicaciones no relacionadas?
@Ruslan - en Kate. Cosas importantes, como el botón Guardar....
@ivanivan, es posible que desee intentar instalar íconos de Oxygen o KFaenza (o los íconos oficiales predeterminados en el KDE moderno): KDE parece tener algunas diferencias en el nombre o la ubicación de algunos íconos. Recuerdo que el estilo de oxígeno-gtk tiene bastante lógica para asignar íconos de KDE a GTK para lograr una apariencia consistente.
@Ruslan: hice una instalación completa de KDE: falta el ícono, a menos que esté ejecutando el escritorio KDE (prefiero MATE). Ya no es un problema: no tenía ganas de usar cientos de megas de almacenamiento para bibliotecas, etc. para una sola aplicación. Muy feliz con Geany como reemplazo, más feliz incluso de lo que me hizo Kate.

Emacs

Ventajas:

  • plataforma cruzada
  • Software libre y de código abierto
  • Gratis
  • Admite el uso de GUI y CLI, incluso para una sola instancia simultáneamente. Puede tener sus ventanas de emacs en su escritorio; inicie sesión de forma remota a través de ssh y vea los mismos archivos y cambios a través de la CLI.
  • Puede tener múltiples ventanas (como ventanas X11) para la misma instancia. Esto es excelente si está utilizando un administrador de ventanas de mosaico.
  • Tiene resaltado de sintaxis
  • Fácil de extender sobre la marcha, a través de Emacs Lisp
  • Tiene muchos paquetes para muchas cosas, como modificar su código mientras se está ejecutando (no solo lisp, sino también javascript en un navegador, etc.), o ser su cliente de correo electrónico.

ingrese la descripción de la imagen aquí

Contras:

  • vim tiene combinaciones de teclas mucho mejores. Existe el paquete evilpara tener combinaciones de teclas vim en emacs, pero interfiere con el uso de otros emacs.
  • vim facilita la interacción con otros comandos del sistema operativo a través :r !de :w !, y:%!
  • las macros vim superan a las macros de emacs cualquier día
  • emacs tiene la idea de "modos principales" que están vinculados a tipos de archivo y definen combinaciones de teclas y variables para controlar el comportamiento de emacs. La idea es que cada tipo de archivo tenga un ideal diferente sobre cómo trabajar con él. Desafortunadamente, esto significa un uso menos consistente de emacs en todos los tipos de archivos. Algunos de los principales modos que he descargado son fantásticos y, para sus idiomas, uso emacs. Sin embargo, para otros idiomas, vim es mi elección.
Todavía tiene problemas para arrancar desde bare metal :)
Si veo correctamente, entonces en la imagen está visible, ¡NO reconoce las variables dentro de las cadenas según mi requisito!
¿Qué quiere decir con "mejores combinaciones de teclas"? ¿Hay algún problema con E scape M eta A lt C ontrol S hift ?
Wow, ¿ alternas entre emacs y vim para diferentes archivos? Respeto. He usado cada uno extensamente, pero solo puedo manejar un conjunto de pulsaciones de teclas de edición a la vez...

geany

Plataforma cruzada. Licencia GPL. Sintaxis de alta iluminación. En realidad, es un IDE muy liviano: tiene botones para "compilar", "construir" y otros que pueden tener acciones específicas configuradas para los tipos/extensiones de archivo apropiados.

Contras:

  • No reconoce variables dentro de cadenas.

La fiesta de Ubuntu de Geany

jEditar

Escrito en Java y se ejecuta en casi cualquier plataforma que admita Java. Descarga gratuita en http://www.jedit.org/index.php?page=download . El resaltado de sintaxis para scripts de shell funciona muy bien; lo uso a diario en el trabajo. Tiene muchos, muchos complementos que le permiten personalizarlo para su situación.

jEditar captura de pantalla

No soy un colaborador de este proyecto, solo un usuario feliz.

CudaText con complemento "Hilite Vars".

Ventajas:

  • Multiplataforma (Linux, Mac, Windows)
  • Fuente abierta
  • Gratis
  • La velocidad es casi como lo ha hecho Sublime
  • Resaltado de sintaxis para Bash, con el complemento "Hilite Vars" (en Addon Manager) resalta variables en cadenas

Captura de pantalla de CudaText

La configuración y el uso de NetBeans
VScode es un poco grande y difícil de manejar para mi gusto, aunque mi trabajo de desarrollo es bastante ligero, por lo que no vale la pena mi tiempo para conocer realmente varios IDE. También me gusta Kwrite. Para mí, NetBeans para proyectos compilados y de varios archivos (C ++) y Kwrite para scripts rápidos de una sola página. (También uso la consola VIM, principalmente porque hago mucho trabajo administrativo de tipo ssh, gVIM me parece incómodo).