Hace tiempo había hablado de Sublime-text, un editor de texto muy, pero que muy completo, y de sus muchas funcionalidades.
Aún sigo pensando que Sublime-text es bastante potente y que vale la pena usarlo, pero, tiene grandes inconvenientes, sobre todo algunos que chocan con mis ideas y principios respecto al software.
Primero que nada, no es libre, y eso hay que dejarlo claro. Es muy creativo eso del tiempo de pruebas ilimitadas y muy hermoso que esté escrito en Python, pero no todo es miel sobre hojuelas y para ser sinceros, tiene un error fatal: te rompe las señoras canicas con sus pop-ups de “Actualiza a la nueva versión” cada vez que abres el editor, no importa que ya la tengas actualizada, siempre te lo dice. Otro dolor de muelas es el de que, cada vez que guardo o cierro 3 archivos con ese editor, me sale otro pop-up diciéndome “estás usando la licencia de pruebas, deseas comprar la licencia?” o algo muy cercano a eso.
Ok, vale, entiendo que necesiten ganar dinero y aplaudo eso de la licencia de pruebas ilimitada, pero eso de spamearme en mi propio escritorio… hmmm, como que no me gusta, así que me decidí a buscar algo que se adaptara mejor a mis necesidades “stallmannianas” (xD).
Primero fue Kate, el editor del gran KDE, que de por si es muy bueno y todo eso, pero, bueno… no es tan extensible como algunos comentan, o es que realmente yo soy malo buscando, si es así, les ruego me corrijan y me muestren extensiones para Kate. Claro, extensiones para programar.
Luego vino VIM… No lo soporté, es demasiado potente, pero esa exageración en su potencia viene acompañada de una exageradamente alta curva de aprendizaje.
Un geniecillo me hablaba de Textmate, pero ese es solo para Mac y le di dos cañas en la testa por hablar sandeces.
Luego vino Komodo edit, un IDE de muy alta calidad que me pareció sería el principal contrincante para Sublime-text a nivel de lenguajes de programación soportados, con mucha potencia y relativamente personalizable aunque carecía (o yo no encontraba) por ninguna parte nada parecido a un botón para compilar o ejecutar (a lo Geany) o algun Build-system (a lo Sublime-text), eso sumado a que no podía instalarlo de ninguna manera sino ejecutando un binario… mejor que se quede quietecito ahí.
Al final había pensado en Geany, pero realmente no me gusta, no es muy minimalista ni tan personalizable como me gustaría que fuese, aunque si es muy potente, eso no se lo va a quitar nunca nadie… Luego de andar leyendo por ahí, encontré que hablaban de Gedit, que se suponía era el editor de textos más flexible de todos, vaya cosas que uno se encuentra ¿No? Justo en frente de mis narices tenia lo que buscaba.
Entonces, pongamos manos a la obra:
Primero que nada Gedit es un editor de texto plano que, por si solo puede medio suplir algunas capacidades básicas de un programador, pero no las de alguien como yo, que come libros y artículos de programación todos los días y quiere andar programando a cada rato, así que, es momento de extender a nuestro enano para convertirlo en un monstruo:
Primero que nada hay que bajarse los complementos principales:
sudo apt-get install gedit-plugins
Y luego ponerse los siguientes plugins para poder soportar nuevas herramientas, themes y más lenguajes de programación:
sudo apt-get install gmate:
sudo apt-add-repository ppa:ubuntu-on-rails/ppa
sudo apt-get update
sudo aptitude install gedit-gmate
Claro que muchas veces no tenemos estos paquetes así de simples en nuestras distros, yo que se los digo ya que Gmate al parecer es un fastidio porque no está en los repos de nada, por lo cual toca recurrir al querido Git.
Si no tienen Git instalado entonces buscar el
paqueqte git-core
e instalarlo.
Luego hay que instalar los siguientes paquetes:
python-webkit python-pyinotify ack-grep
Y por último hacer el clon del código desde Git:
git clone git://github.com/gmate/gmate.git
E instalarlo:
sh install.sh
Ya con esto tenemos instalado todo lo que podemos necesitar para “envenenar” nuestro Gedit y convertirlo en todo un IDE minimalista y hermoso.
Primero que nada necesitamos empezar con lo primordial, el marcado de líneas en uso, el enumerado de líneas y el cierre automático de corchetes, llaves, comillas, etc, etc. Para eso nos basta con ir a Editar » Preferencias luego tildamos las siguientes opciones:
- <° Activar numeración de línea.
- <° Resaltar linea actual.
- <° Resaltar parejas de corchetes.
Luego pasaremos al apartado de editor, en donde moveremos los siguientes parámetros:
- <° Anchura del tabulador: está en 8, yo la uso en 4 por gustos pero cada quien puede tenerla en el nivel que guste, esto va a delimitar el tamaño de la identación con tabulación.
- <° Activar sangrado automático.
- <° Crear una copia de guardado de los archivos antes de guardarlos y auto-guardar archivos cada: “los minutos que quieran”. Esto es especialmente importante, no queremos que nuestro código se vaya al infierno por algún error y no tengamos respaldos.
Ahora viene la parte de los complementos. Aquí la cosa se alargaría mucho si hablara de todos ellos, lo bueno es que al hacer click sobre “acerca de” nos da una descripción muy concreta y directa de que es y para que sirve el complemento. Yo les voy a dejar los que uso y el uso que les doy.
- <° Completar paréntesis: sabemos bien el uso que le doy.
- <° Dibujar espacios: me dibuja puntos entre cada palabra, lo cual me permite saber cuantos espacios hay entre una y otra.
- <° Consola
Python
- : esta herramienta es una de las indispensables para mi y cualquier Pydeveloper que se precie, es un fastidio tener que estar entrando en las carpetas vía terminal y ejecutando los archivos manualmente, mejor copiamos y pegamos, enter y voila, trabajo andando… claro que si hay errores no va a correr y te dirá que pasa.
- <° Panel examinador de archivos: útil, muy útil. Esto sencillamente nos permite ver nuestro árbol de carpetas al lado de la pantalla para poder navegar entre los ficheros.
- <° Terminal empotrado: es igual que la terminal de
Python
- solo que esta es una terminal normal que te permite hacer de todo.
- <° Recortes o
Snippets
- : simplemente el santo grial de todo este asunto, si hiciste todo el proceso de instalación y no usas
Snippets
- , mejor es darse un tiro en la cabeza, estos son, para resumir y ponerlo en otra sección, el auto completado de
Gedit
- , pero mejor.
Tipografía y Colores.
Esto es mas que todo el apartado gráfico que, si bien no es algo que no te permita trabajar, es algo que te acomoda mucho el trabajo por varias razones. Primero que nada, todo en blanco y letras negras es incómodo, un poco de azul y fucsia para resaltar y listo, Gedit da lástima y de noche destroza tus ojos (si eres un programador que se precia, entonces no programas de día). Y aquí es donde Gmate entra; les explico brevemente:
Gmate es un conjunto de complementos, estilos visuales y lenguajes agregados para Gedit, así de simple, nos trae temas, más lenguajes y plugins.
Aquí sencillamente es cuestión de gustos, pero de que tienen para elegir, tienen. De hecho tiene temas que me encantan, como Monokai, un tema con los mismos colores que Sublime-text o Darkmate, uno igual al de Textmate.
Pero aquí ya todo depende de los gustos de cada quien.
Snippets o Recortes.
Esto es lo más destacable de Gedit, su capacidad de auto completado, pero no solo eso sino también de que es 100% configurable ya que no solo trae ya por defecto las funciones más comunes de los lenguajes que posee, sino que permite agregar las nuestras y hasta poner su estructura completa con símbolos y hasta con campos para llenar.
Les explico rápidamente que hacer, porque más simple imposible:
Primero vamos al apartado herramientas y ahí hacemos click en “manage snippets” (está siempre en inglés) y ahí buscamos el lenguaje que queramos modificar.
Veremos cosas como estas:
Bien, mas simple imposible, para agregar un nuevo snippet solo click en el signo “+” que está al fondo, le damos el nombre que queramos y enter. Luego en el campo para escribir (marcado en la imagen) tipeamos lo que queremos que aparezca al llamar al snippet y si queremos podemos agregar algo de “inteligencia” a ellos, ejemplo:
El método set de python:
def set$1(self, ${2:newValue}): self._$1 = $2
No hagan caso de la sintaxis de python, fíjense en los signos de $. Ellos indican algo parecido a una constante, simplemente toman el valor sobre lo que sean asignados, en este caso $1 toma como valor self y se detiene justo en ${2:} ya que ahí empieza otra toma de valores. El segundo de los $, al igual que el primero toma valores, pero este lo que hace es tomar un valor de un campo de texto; {2:} es lo siguiente:
- <° Los {} indican que ahí es donde el programador introducirá una variable, valor, texto, etc.
- <° 2: indica que es el segundo de los parámetros.
- <° newValue simplemente es el texto que aparecerá como indicativo de que ahí se debe colocar un valor.
- Al final self._$1 = $2 lo que hace es:
- <° $1 llama al valor del primer self.
- <° $2 vuelve a crear un
snippet
- para introducir un nuevo valor.
Al final este es el resultado:
Suena complicado, pero créanme, yo siendo un programador amateur que estudia en una mala universidad y que solo tiene como respaldo a internet pudo entenderlo, ustedes también podrán. Ya con esta herramienta no solo tendrán un editor para código muy potente sino que además extremadamente moldeable.
Ahora para cerrar y contestar algunas preguntas que seguramente muchos tienen:
- <° ¿Esto solo sirve para lenguajes interpretados como
HTML
- ,
Python
- ,
JavasCript
- ?
- No, de hecho, si tienes los compiladores instalados, como g++ por ejemplo, puedes compilar desde la terminal empotrada con: g++ nombre_del_archivo.cpp o g++ /ruta_del_archivo nombre_del_archivo.cpp
- <° ¿Puedo agregar más lenguajes de los que ya
Gedit
- tiene con todo esto?
- Sí, pero eso será explicado en el foro de la comunidad, es un tanto más complejo.
- <° ¿Puedo crear mis propios temas para
Gedit
- ?
- Sí, pero aún no se exactamente como hacerlo, se explicará en el foro de
- cuando esté completo mi conocimiento sobre el tema.
Por ahora eso es todo, espero que les haya gustado y que les sea de utilidad.