Para muchos de nosotros Gedit no es más que un editor de textos, reemplazo del clásico bloc de notas de Windows, en el que podemos modificar pequeños y simples (al carecer de formato) ficheros de texto como ficheros de configuración y/o propiedades.
Aunque mi entorno de desarrollo (IDE) suele ser Eclipse, de un tiempo a esta parte vengo utilizándolo muy a menudo para la creación y edición de scripts tanto en Bash como en Groovy (lenguaje que, por necesidades del cliente, me he visto “obligado” a aprender).
Cansado de la rutina de editar el fichero con GEdit (o vim si se terciaba), y tener abierta una terminal para probar lo que iba modificando me dio por investigar qué otras alternativas existen para ello descubriendo la potencia y flexibilidad del complemento Herramientas externas.
Activando el complemento
Tan sencillo como buscarlo en las preferencias de GEdit
y marcar la casilla correspondiente
para finalizar no queda más que configurarlo
Definiendo el primer script
Como introducción y, a modo de ejemplo, nos limitaremos a mostrar en consola el resultado de listar el contenido del directorio temporal del sistema (/tmp) para lo cual añadiremos un nuevo comando pulsando el botón existente para ello
y escribiremos el siguiente código en la zona de edición habilitada
ls -l /tmp
A modo de referencia podéis ver cómo he definido el resto de parámetros del script en la siguiente captura
destacando entre ellos
- Tecla rápida para lanzar el script cuando estemos editando en GEdit sin tener que buscar el script en los menús de la aplicación
- Guardar: Documento actual para evitarnos tener que preocuparnos de guardar el documento antes de lanzar el script. Con el valor Documento actual se guardará el fichero que estemos editando de modo que lo que se ejecute sea exactamente lo último que hemos escrito evitando de este modo falsos resultados (imagina que haces algunos cambios y ejecutas el script: se ejecutaría sobre lo último que tienes en disco que no coincide en absoluto con lo que estás viendo en pantalla)
Ejecutando scripts
Tan sencillo como pulsar la combinación de teclas definida en el paso anterior (CTRL+SHIFT+E en la configuración de referencia) y observar el resultado en el panel inferior del editor
NOTA: Curiosamente, si estás editando un documento nuevo que no ha sido guardado nunca en disco, el complemento se limita a pedirte dónde guardarlo y no ejecuta el script . En dicho caso dale un nombre y vuelve a lanzarlo pulsando nuevamente la combinación de teclas asociada.
Me anoto como tarea notificar dicha incidencia en el proyecto y, si cuento con tiempo (y conocimientos), aportar un parche para solucionarlo.
El script definitivo
Una vez que hemos aprendido cómo funciona el complemento con un ejemplo sencillo (listar el contenido del directorio /tmp) pasemos a la finalidad de este artículo: ejecutar el contenido del script que estamos editando.
No tenemos más que cambiar el código del script anterior por éste:
chmod a+x $GEDIT_CURRENT_DOCUMENT_PATH;
$GEDIT_CURRENT_DOCUMENT_PATH;
donde:
- chmod a+x $GEDIT_CURRENT_DOCUMENT_PATH; le da permisos de ejecución (a todos los usuarios) al fichero actual.
- $GEDIT_CURRENT_DOCUMENT_PATH; permite ejecutarlo.
para entender la segunda línea debe tenerse en cuenta el significado y utilidad de las distintas variables que admite el complemento.
Conclusión
GEdit es, en apariencia, un sencillo editor de textos que consume muy pocos recursos y que está llamado a convertirse en el equivalente a editores de textos como el UltraEdit de Windows (que al escribir este artículo acabo de descubrir que ya existe versión para Linux :O aunque, como era de esperar, no es Software libr.
Bonus
Para aquellos que les haya llamada la posibilidad de ejecutar scripts desde Gedit les recomiendo que le echen un vistazo a la colección de ejemplos de scripts que existe pues es mucho lo que se puede aprender de ellos.