jEdit, el Texmate de los pobres
En mi eterna búsqueda por el editor para programadores perfecto mis prejuicios me mantenían alejado de las alternativas basadas en Java, principalmente por el mito de sus excesivos requerimientos de RAM y porque consideraba a la tecnología Java en particular una trampa en el mundo del Software Libre.
Pero a las evidencias tuve que rendirme cuando encontré cada vez más positivas referencias de un editor llamado jEdit. Si mi memoria no me falla, hasta ese momento había usado Anjuta como mi editor multipropósito para mis trabajo diario de desarrollo web, muy a pesar de que ese IDE no había sido concevido nunca para ese fin y de que constantemente me veía obligado a complementarlo con otras aplicaciones como Bluefish.
Corrían los tiempos de jEdit 4.2 y en ese momento sólo me tomó unos días configurarlo lo suficientemente bien como para convertirlo en mi editor de preferencia reemplazando a todos los demás y declarando que mi búsqueda finalmente había terminado.
Desde entonces jEdit ha sido la herramienta con la que literlamente he producido miles de líneas de código, primero exclusivamente de PHP, SQL, X/HTML y CSS, y posteriormente también de Ruby y Ruby on Rails. Su flexibilidad y extensibilidad ha probado ser la combinación que le ganó mi mente y mi corazón.
jEdit 4.3
Con literalmente años de desarrollo encima, la versión "preliminar" de jEdit 4.3 puede considerarse en realidad por lo menos tan sólida como su versión "estable" actual 4.2 para nuestros fines prácticos. Así que no nos dejemos engañar por ese título que más tiene que ver con el cambio en su equipo de desarrollo original y disfrutemos de jEdit 4.3-pre 11 (la última al momento de escribir esto) sin ningún prejuicio.
jEdit es una aplicación Java y como tal puede ejecutarse en (teóricamente) cualquier sistema operativo. Particularmente puede ejecutarlo en Linux (Ubuntu) y sólo un poco en Windows XP, en ambos exitosamente incluso con una configuración de apenas 256 Mb.
A continuación un breve resumen del proceso de su instalación, que aunque pensado para Ubuntu 6.06, debería ser prácticamente idéntico para sus versiones posteriores y muy similar para otras basadas también en Debian.
Instalación en Ubuntu 6.0.6 "Dapper Drake"
Primero debemos instalar el Java Runtime Environment (y también el Java Development Kit si después queremos usar cosas como NetBeans 6.0 u otros excesos similares). Podemos obtener sus últimas versiones siguiendo estas instrucciones, o más simplemente agregando estas líneas a nuestro archivo /etc/apt/sources.list:
## BACKPORTS REPOSITORY (Unsupported. May contain illegal packages. Use at own risk.)
deb http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse
y después ejecutando estos comandos:
apt-get update
apt-get install sun-java6-jre sun-java6-jdk
Con lo anterior debemos tener todo lo necesario para continuar descargando la última versión pre de jEdit 4.3 de esta página, de donde podemos elegir el paquete que dice Java-based installer.
Plugins
Los plugins extienden la funcionalidad de jEdit más allá de su concepción inicial, pueden instalarse, actualizarse y desinstalarse fácilmente y deben ser la segunda cosa que tenemos que instalar (después de jEdit obviamente) para desatar el verdadero poder de este editor.
Algunos plugins que nos resultarán imprescindibles para potenciar exponencialmente la magia de jEdit son:
- BufferTabs. Una de las más imprescindibles de todas. Agrega "pestañas" para editar múltiples archivos al mismo tiempo.
- Console. Una consola integrada en un panel de jEdit, para no tener que cambiar a la ventana de la terminal por pequeñeces.
- JDiff Plugin. Resalta visualmente las diferencias entre dos archivos lado a lado. Casi casi como lo hacen los IDEs más pretenciosos.
- PHPParser. Además de resaltar errores de sintaxis permite navegar fácilmente entre las funciones de nuestro archivo actual.
- Project Viewer. El plugin que más hace por jEdit para convertirlo "casi" en un IDE. Permite organizar nuestros archivos y directorios como verdaderos proyectos; incluso también por una estructura jerárquica de grupos.
- Ruby Editor Plugin. Es uno de los más completos, convierte a jEdit en un editor de Ruby inteligente con "características familiares para los usuarios de IntelliJ IDEA IDE for Java" dice su página y lo demuestra así. Además incluye la documentación completa de Ruby y Ruby on Rails para tenerla de referencia directamente en un panel del editor. ¡Increíble!
- SuperAbbrevs. Junto con el plugin anterior convierte a jEdit en el verdadero "TextMate de los pobres" gracias a sus plantillas de código accesibles con sólo pulsar la tecla
Tab. Estas pequeñas porciones de código pueden ahorrarnos el tiempo que nos quitan bloques de código repetitivos además de protegernos contra errores de sintaxis involuntarios. - SVNPlugin. Navegación de repositorios de Subversion, consola SVN e integración con Proyect Viewer. Para su correcto funcionamiento parece requerir de Subversion 1.4, pues con la versión 1.3 de mi Ubuntu 6.06 algunos comandos no están disponibles.
- TaskList. Pequeña utilidad que nos permite listar con un simple vistazo "etiquetas" de tareas (TODO, FIXME, NOTE, etc.) puestas en nuestro código. Es particularmente útil cuando nuestros archivos comienzan a crecer y queremos llevar nota del trabajo que todavía tenemos pendiente en ellos.
- WhiteSpace. Nos dá más control sobre la forma en que manejamos los espacios en blanco y las tabulaciones en nuestro código. Es imprescindible si codificamos cuidadosos de la indentación.
(Notar que otros plugins pueden ser dependencias previas para instalar algunos de los anteriores). Un motivo más para temer menos a la etiqueta de "pre" de jEdit 4.3 es que las últimas versiones de algunos plugins sólo están disponibles para esa versión; y que algunos otros directamente ya no soportan a su anterior v4.2.
La lista anterior no es para nada definitiva, constantemente me encuentro descubriendo nuevos plugins tan útiles que me hacen preguntarme luego "¿Cómo puede ser posible que se me haya pasado por alto una joyita como esta?". Uds. también pueden tener ese tipo de revelaciones repasando el repositorio de plugins de jEdit.
Aunque teóricamente es posible instalar y actualizar los plugins usando el Plugin Manager de jEdit, nunca pude hacerlo funcionar correctamente con la versión 4.3-pre 11. Esto puede ser sólo un problema mío, pero para el caso de necesitar instalar los plugins "a mano", la tarea es tan sencilla como descomprimir su contenido en el sudirectorio ./jedit/jars dentro de nuestro directorio Home.
Algunos detalles menores
A pesar de todo lo bueno, jEdit tienen algunas cosas que podría mejorar, como una interface gráfica visualmente extraña debido a su naturaleza Java, una espartana documentación y algunos atajos con el teclado que en la práctica son imposibles de obtener. Poco, si consideramos todo lo que obtenemos a cambio y de que se trata de una aplicación abierta y gratuita.
Conclusión
jEdit me ha servido destacablemente estos últimos años y lo suficientemente bien como para adaptarse a mis nuevos hábitos de desarrollo, incluyendo mi éxodo de PHP a Ruby on Rails. Es y continúa siendo mi editor de preferencia bajo GNU/Linux que ha prevalecido incluso frente a otros IDEs que evalué últimamente, como RadRails y Eclipse+PDT, gracias a su exitoso equilibrio entre características y requerimientos.
Más que recomendable si editar textos es lo segundo que hacemos después de abrir el navegador.
