Textmate en Linux

Actualizacion!! Este articulo tiene una tercera versión :D con algunas actualizaciones te recomiendo que si ya has leido este articulo le des un vistazo a su tercera versión. Y si no lo haz leido aún, leelo y luego revisa la actualización :)

Un tiempo atrás escribí un pequeño articulo sobre Gedit y Ruby on Rails sobre GNU/Linux para tratar de asemejar Gedit (el editor por defecto de el escritorio Gnome para Linux) a Textmate un editor muy potente para Mac y que es muy popular entre los desarrolladores de Ruby on Rails. Precisamente en dicho articulo explicaba como usar los llamados snippets para desarrollar mas rápido en Ruby on Rails asemejándose a lo que se hace en TextMate. Bueno, pues ahora he estado desarrollando una aplicación y he modificado algunas cosas para hacer de Gedit casi casi un Textmate (eso si casi casi :D ) . Lo que he agregado es el soporte de extensiones RHTML, RJS y YML y también he actualización de snippets para RHTML, RJS y RUBY. Además de usar algunos plugins para Gedit que iré mencionando.

Entonces empecemos:

Lo primero es que descargues el soporte para extensiones RHTML, RJS y YML para gedit desde aquí . luego de descomprimirlos los copias en el directorio /usr/share/gtksourceview-1.0/language-specs de tal modo que quede de la siguiente manera:

gedit_langs

Una vez instaladas el soporte para extensiones, es necesario actualizar los snippets de Gedit para que estas extensiones. Entonces lo que vamos ha hacer es descargar los snippets de aquí y copiarlos en /home/joselo/.gnome2/gedit/snippets en donde el directorio joselo es tu directorio personal, si la carpeta snippets no esta debes crearla. Una vez copiados los snippets se vería algo así:

snippets_gedit

Hora de los plugins

Ahora que tenemos el soporte para extensiones y snippets listos, es necesario habilitar algunos plugins que he empaquetado para que la programación en Gedit sea mas agradable, lo primero es descargarlos desde aquí y copiarlos en /home/joselo/.gnome2/gedit/plugins ya saben.. el directorio joselo es tu directorio personal, de tal forma que se vea así:

plugins_gedit

Luego abrimos Gedit, seleccionamos el menú Editar > Preferencias y nos ubicamos en la pestaña Complementos.

preferences_gedit

Habilitamos los siguientes Plugins que de paso voy ha ir explicando para que sirven:


Snippets
: Este plugin permite el uso de Snippets para autocompletado de lenguaje mediante el uso de plantillas o templates, si no se cuenta con este plugin es recomendable que actualices tu versión de Gedit. Los snippets que se modifiquen se guardaran en /home/joselo/.gnome2/gedit/snippets.

snippets_gedit_option

Panel del examinador de archivos: Este plugin permite navegar por los archivos de un directorio desde el panel lateral, si una vez seleccionado no lo vez, es necesario que lo habilites seleccionando desde el menú: Ver > Panel lateral.

panel_examinador_gedit

Eddt: En algunas versiones de Gedit el plugin Panel del examinador de archivos no esta disponible, sin embargo existe otro plugin llamado Eddt que es casi idéntico al Panel examinador de archivos, este plugin también lo incluyo en el paquete de plugins que mencioné más arriba.

eddt_gedit

Nota: No es recomendable que se tenga los dos plugins activos, si ya posees el Panel del examinador de archivos no es necesario que selecciones el plugin Eddt.

Snap open: Este plugin es de lo mejor que hay para Gedit (bueno para mi :) ) ya que permite buscar un archivo determinado en todo el directorio raiz (Root).

snap_open

Lo que hay que hacer es presionar Ctrl+Alt+O para que se abra un dialogo el cual conforme se escribe el nombre del archivo lo va buscando así:

snap_open_demo

Gemini: Este plugin permite el auto completado de caracteres como: paréntesis, corchetes, comillas, llaves, entre otros.

gemini_gedit

Otros plugins

Word completion: Este plugin aún esta en beta pero funciona bien, actúa como una especie de buffer de palabras.

word_completion_gedit

De este modo, si por ejemplo ya escribiste alguna palabra en un archivo, digamos el nombre de un modelo y la estas volviendo a escribir en otro archivo, esté plugin te sugiere la palabra escrita anteriormente.

Selector de color: Este plugin es parte de un conjunto de plugins que se incluyen en las actualizaciones del Gedit y no lo incluyo en el paquete de plugins. Pero si manejan Ubuntu pueden buscar “gedit-plugins” en el manejador de paquetes Synaptic, lo seleccionas y lo instalas. Y si no tienes Ubuntu busca la equivalencia en otras distribuciones para actualizar aplicaciones.

selector_color_gedit

Este plugin es muy útil cuando se esta escribiendo hojas de estilo CSS y se necesita seleccionar un color en particular.

selector_color_gedit_demo

Colores al estilo Textmate

Gedit es un editor muy flexible y como todo buen editor para programar tiene resaltado de sintaxis para diferentes lenguajes. Con el soporte para extensiones RHTML, RJS y YML instaladas, he modificado las preferencias del color de resaltado de sintaxis de estas exenciones. Lo que hay que hacer es descargar las preferencias de aqui, descomprimirlas y copiarlas en /home/joselo/.gconf/apps/gedit-2 otra vez ya saben…. donde joselo es su directorio personal. Una vez copiados los archivos debería verse así:

preferences_gedit_demo

Si todo sale bien tendremos algo como esto:

Colores para de archivos de tipo .rb o RUBY

demo_gedit_colores_ruby

Colores para de archivos de tipo .rhtml

demo_gedit_colores_rhtml

Colores para de archivos de tipo .rjs

demo_gedit_colores_rjs

Colores para de archivos de tipo .yml o YAMEL

demo_gedit_colores_yml

Simpático he.. :) algo importante que acotar en este punto es que si la sintaxis de los archivos no se resalta debes seleccionar desde el menú: Ver > Modo Resaltado y seleccionar el modo de resaltado de los archivos dependiendo de su tipo. Los modos de resaltados para las exenciones RHTML, RJS, y YAMEL están así:

Archivos de tipo RHTML en: Ver > Modo Resaltado > Marcado > RHTML
Archivos de tipo RJS en: Ver > Modo Resaltado > Otros > RJS
Archivos de tipo YML o YAMEL en: Ver > Modo Resaltado > Otros > Yamel

Los archivos de tipo RUBY no hace falta seleccionar el modo de resaltado.

Escribir este post estuvo un poco largo :) pero si ha una sola persona le sirve (aunque sea a mi :D ) habrá valido la pena. Todo por hacer que el desarrollo de aplicaciones Web en Ruby on Rails sea mas agradable sobre GNU/Linux.

19 comentarios hasta ahora

  1. [...] on Rails sobre GNU/Linux Posted enero 10, 2007 Actualizacion!! Este articulo tiene una segunda version con algunas actualizaciones te recomiendo que si ya has leido este articulo mejor leas su segunda [...]

  2. Juan Pablo on

    Hola, me parecio exelente el post. Yo uso JEdit y tengo un post parecido al tuyo pero de jEdit, la verdad no sabia que gedit es tan potente. Ya lo configure y la verdad es que me gusto mucho.

    saludos,
    Juan Pablo

  3. Ruben on

    Hola Joselo, muchas gracias, me sirvio bastante, vengo usando gedit desde hace un par de meses, para que me encanta, antes usaba Jedit, pero aparte de lo pesado de los programas Java su interfaz no me convencia del todo.

    Saludos.
    Ruben.

  4. GEdit como Texmante en Linux on

    [...] y para otras tantas cosas más, sigue siendo JEdit, es digno de destacar el trabajo realizado por este usuario para tratar de exprimir al editor GEdit hasta convertirlo en lo más parecido a Textmate que sea [...]

  5. Pepe Gonzalez on

    Hola! Muy informativo tu post, gracias. Encontré un archivo de Syntax Highlighting para RHTML que me gustó un poco más porque no se limita a hacer todo el código ruby de un solo color. Lo pueden encontrar aquí: http://www.bitsbam.com/
    Para quienes quieran probar su suerte con otro editor más, está Scribes ( http://scribes.sourceforge.net , usuarios de ubuntu, hay un deb aquí: http://www.getdeb.net/search.php?keywords=scribes&op=)

  6. joselo on

    Esta muy bien gracias.

    En el archivo rhtml.lang que yo hice, esa parte esta comentada si se animan pueden echarle un ojo y des comentarla para que el código de Ruby se coloree.

    Saludos.

  7. wigan on

    clap clap clap clap !!!!!

    gracias!
    un tutorial estupendo, y nunca mas oportuno, estaba “atado” a un OSX86 corriendo en el portatil por no tener ninguna opcion potable para reemplazar al textmate, ahora gracias a tu post puedo regresar a mi amorcito (linux) sin sufrir mucho en el cambio de editor para ruby/rails.

    realmente excelente, mil gracias!

  8. joselo on

    De nada.

    Hablando un poco de lo mismo hize algunas actualizaciones con respecto al tema de Gedit como Textmate en GNU/Linux como: Resaltado de palabras reservadas de Ruby on Rails, RJS, Modificación del tema, etre otras cosas.

    Espero en las proximas semanas actualizar este post.

    Hasta entonces….

  9. [...] Linux – gEdit [...]

  10. Warlock-G on

    ansiosos esperamos las actualizaciones, muy bueno todo el artículo, y estaremos pendientes. jejeje :D

  11. [...] (3ra. Parte) Posted Mayo 30, 2007 He actualizado algunas cosas del articulo anterior Textmate en Linux. Todo esta aca en mi otro [...]

  12. flaco on

    Joselo, muy buen post… pero en el selector de plugins.. no aparece el gemini.. vi la carpeta de plugins y solo sale gemini.pyc, creo que faltan mas archivos referentes a ese plugin
    Saludos

  13. [...] Linux – gEdit [...]

  14. fguillen on

    Muy interesante.. no sólo nos has enseñado como configurar Gedit a nuestro gusto sino lo potente que puede ser este aparentemente tonto editor :)

  15. naitsirhC on

    Buen trabajo.

  16. Diego on

    Buenas! Estuve viendo el post. Tengo problemas en el segundo paso porque le pido al Dolphin que me muestre los archivos ocultos para entrar a la carpeta .gnome2 y entro sin problemas pero no tengo ninguna carpeta que se llame gedit…….

    Te agradeceria si me podes ayudar.

    Te cuento que uso KDE y no gnome pero tengo el gedit instalado y funcionando de todas formas.

    Saludos

    Diego S. Caliri

  17. Lisfera on

    Yo hasta ahora estoy usando Geany

  18. [...] tuve que buscar demasiado la verdad y encontré varias fuentes para configurar GEdit de manera que quede suficientemente cómodo (como estaba acostumbrado con [...]

  19. angalbh on

    Hg15mN bdrzskrprqqs, [url=http://jmoobosommpz.com/]jmoobosommpz[/url], [link=http://ctvnlormwecl.com/]ctvnlormwecl[/link], http://dymnzeqeocsn.com/


Replica