Transforma a Gedit en un IDE Perfecto


En Linux tenemos a este famoso editor de Textos que a veces usamos y a veces no, dependiendo de cómo usemos el sistema y para qué. Si eres un programador, Te voy a mostrar un secreto que encontrarás bastante útil, ya sea que uses Ruby, Python, Java, PHP, Javascript, o lo que sea:

Gedit es algo más allá de un simple editor de textos, tiene el alma de un IDE escondida en el fondo como un buen diamante en bruto. En MacOS tenemos por ejemplo al famoso TextMate que incluso es de pago y muchos usuarios de Windows lo envidian... Sin embargo, Gedit con algunos tweaks puede ofrecer una funcionalidad igual o mejor que la del ya muy mentado TextMate, convirtiéndolo en el IDE perfecto para prácticamente cualquier lenguaje de programación.

Gedit, El TextMate de Linux: La transformación

Si ya tienes gedit instalado en tu sistema, cuando lo abras se verá más o menos así:


NOTA: Si no lo tienes instalado, el paquete se llama gedit en todas las distros, instálalo por el método
que te parezca más cómodo en la tuya,


¿Parece sin chiste cierto? Pero créeme, lo tiene. Lo primero que haremos será instalar algunos añadidos, complementos y utilidades, para ésto tomaré como ejemplo a la distro Ubuntu, pero si estás en otra, simplemente busca e instala los siguientes paquetes: gedit, gedit-plugins y gedit-gmate. Es muy posible que estén en los repos de tu distro y si no, sólo busca sus respectivos binarios o bien, algún repositorio que puedas añadir para obtenerlos.

Instalando dichas utilidades en Ubuntu:

1. sudo apt-get install gedit gedit-plugins
2. sudo apt-add-repository ppa:ubuntu-on-rails/ppa
3. sudo apt-get update
4. sudo apt-get install gedit-gmate

Bien. Con esos paquetes instalados, podemos proseguir a tunear Gedit, lo primero que haremos será irnos a Editar>Preferencias y en la pestaña Ver marcaremos las opciones de mostrar los números de línea y resaltar la línea actual. Lo demás lo dejamos como está:



Nos vamos a la pestaña de Editor y en Ancho de Tabulaciones debería estar el número 8, lo cambiamos por el número de espacios que la indentación requiera en nuestro lenguaje de programación habitual, yo lo tengo en 2 porque es la convención de Ruby, pero puedes poner por ejemplo 4 que es lo que se usa en Python y es más convencional, además de que igual funciona para Ruby y otros... Más que nada, es tu decisión. En esa misma pestaña, dejamos todo como esté y marcamos la opción de Auto-Guardar documentos con un margen de 3 minutos:



Acto seguido, nos vamos a la pestaña de Tipografías y Colores y elegimos la que más nos guste para nuestro editor:



Ahora, nos vamos a Complementos y marcamos los que queramos tener activados. En mi caso yo tengo los que vienen por default y algunos otros. En sí, te recomiendo tener activados los siguientes:

  • Apertura Rápida
  • Corrector Ortográfico
  • Estadísticas del Documento
  • Herramientas Externas
  • Insertar Fecha/Hora
  • Lista de Etiquetas
  • Mapa de Caracteres
  • Modos de líneas
  • Pair Character Completion
  • Panel Examinador de Archivos
  • Proveedor de datos de Zeitgeist (Sólo si viene activado por defecto)
  • Rails File Loader (Sólo si usas RoR y/o Ruby)
  • Salva Sesiones
  • Selector de Color
  • Smart Highlighting
  • TabSwitch
  • Terminal Empotrado
  • ZenCoding (Sólo si usas ésta catacterística)

Pythonistas: No les recomiendo activar la consola de Python en ésta sección, más adelante en el post verán porqué, confíen en mi jajaja ;)

Ahí mismo en la pestaña de complementos se te explicará para qué es cada uno brevemente (y con más detalle si pulsas "Acerca de"); Entonces ahí más o menos te darás cuenta de cuales te sirven y cuales no, pero en lo personal te recomiendo bastante usar todos estos de la lista (Exceptuando los casos especiales explicados entre paréntesis si en tu caso no aplican).

Ahora bien, vayamos con la interfaz...

Tweaks en la interfaz

Aún habiendo activado éstos complementos, notarás que Gedit se ve muy similar a como estaba al principio:




Esto es porque nos hace falta hacer algunos ajustes para transformarlo en un IDE propiamente, veamos entonces:




Para que Gedit tome un aspecto más de IDE, nos vamos al menú Ver y marcamos la opción de Panel Lateral y Panel Inferior. En el lateral, les recomiendo activar desde el principio la pestañita de Examinador de Archivos pues es la que más utilizarán al trabajar en sus proyectos. Desde esta pestaña podemos abrir, cerrar, crear, eliminar y manipular en general archivos y carpetas. Sobre el Panel Inferior, les recomiendo seleccionen la pestaña de Shell Output desde el principio, puesto que la ocuparemos en conjunto con un plugin que acabamos de activar líneas arriba, cosa de la cual hablaremos después del salto.

Un Intérprete Universal

Cuando uno programa en distintos lenguajes, necesitamos tener a la mano un intérprete de dichos lenguajes en el IDE, esto con motivos de pruebas, debugging, y demás. Gedit incluye una consola Python como habrán podido ver en los complementos, Pero ¿Qué pasa si yo no escribo Python? Bueno, para eso está el terminal empotrado que tenemos en el panel inferior... Pero en ese caso, ¿Qué pasa si no guardo mi código en un archivo para luego correrlo desde la terminal con el intérprete adecuado? Un terminal empotrado, sea Python, Bash (La propia del sistema) o cualquier otra de otro lenguaje no es tan útil cuando queremos hacer las cosas rápido. Es aquí donde entra al juego el plugin de Herramientas Externas, que nos permitirá tener un intérprete universal embedido en el IDE a tan solo un atajo de distancia... ¿Cómo? Muy sencillo, sólo hay que configurarlo:

Suponiendo que tengas el intérprete del lenguaje que usas instalado en tu equipo (si no lo tienes instálalo) Sólo te hace falta configurar Gedit para que lo ocupe como intérprete Built-in para correr tus scripts y hacer debbuging... Por ejemplo, si yo programo en Python y Ruby y tengo ambos lenguajes instalados en mi computadora, para tener el intérprete de cada uno a mi disposición con el propósito de  ejecutar código directamente dentro del Gedit IDE y hacer Debugging con mi pestaña Shell Output del panel inferior, tendría que irme a Herramientas>Manage External Tools y añadiría primero una Herramienta Nueva para por decir, Ruby llamada "RubyRun" de la siguiente manera:






Aquí lo que hice fue añadir una nueva herramienta con el signo de + y luego la renombré a RubyRun. Dentro de Editar ustedes tendrían que poner el mismo código que ven arriba sólo reemplazando la palabra ruby de la tercera línea por el nombre del comando que invoca al intérprete de su lenguaje. Si yo quisiera por ejemplo tener el intérprete de Python a la Built-in dentro de mi Gedit IDE haría una nueva herramienta llamada por ejemplo "PythonRun" y en el código de editar pondría exactamente lo mismo que en la imagen, cambiando la palabra ruby por la palabra python en la tercera línea.

El código escrito arriba está acá:

#!/bin/sh
cd $GEDIT_CURRENT_DOCUMENT_DIR
inter $GEDIT_CURRENT_DOCUMENT_NAME

* Solo recuerda reemplazar inter por el comando que llama al intérprete de tu preferencia en tu sistema.

Una vez que creas tu herramienta de intérprete built-in dejas todas las opciones como las ves en la imagen de arriba y únicamente cambias tu atajo del teclado. Yo uso Alt + Letra del lenguaje, siendo Alt+R para correr el intérprete de Ruby y Alt+P para el de Python por ejemplo. Al configurar esto de esta manera, podrás simplemente escribir tu código en el editor y presionar tu atajo para correrlo de manera que el output se mostrará en tu panel inferior en la pestaña de Shell Output. Como las herramientas que definimos usan todo el poder de bash y el intérprete de tu lenguaje en conjunción, por ejemplo si estás creando una Aplicación gráfica con algo como GTK+; Al correr en código la ventana de tu aplicación creada aparecerá directamente (Claro, si tienes las librerías GTK y lo demás que se ocupe instalado en tu sistema pues) haciendo el desarrollo mucho más interactivo.

Y pues bien, con eso terminamos este tutorial para convertir a Gedit en el IDE perfecto, un programa ligero, poderoso y funcional que nada tiene que envidiarle a otros programas mucho más pesados, de otras plataformas o incluso de pago...