Desde que estoy obligado a utilizar Mac OS X en el trabajo he probado bastantes editores de código en la plataforma de la manzana. Entre ellos Coda y TextMate.
Aunque TextMate me gustaba bastante más que Coda, no me llegaba a sentir del todo cómodo con él, así que al final recurrí a utilizar Eclipse para todo, aunque fuera editar un script de Bash o un pequeño servicio o hack en Python.
Pero un buen día leyendo un foro en inglés me percaté de la existencia de muchas referencias a lo que algunos decían ser el editor de texto para código definitivo, un editor como mucho hype en ese momento denominado Sublime Text, el nombre me pareció del todo presuntuoso.
De igual manera me dispuse a averiguar que editor era ese del que tanto hablaban y sobre todo, en que plataformas estaba soportado y que precio tenía, así que me di una vuelta sin demora alguna por la página oficial del producto.
Su interfaz me entró por el ojo de forma automática, solo había un problema… estaba disponible solo para Windows… oh noes!. Por fortuna descubrí rápidamente que existía una versión 2 “beta” para Mac OS X y Linux.
De esa forma, Sublime Text 2 se convertía en el tercer editor de texto en modo GUI que conocía (y que no fuera un chustazo o inestable) a parte de Kate de la plataforma KDE y Gedit que estaba disponible para las tres plataformas (y con editor quiero decir que no es un IDE, ¿Geany es un IDE o es un editor?).
Así que empece a utilizarlo y creo que me enamoré de él en las primeras horas de uso, no se si fue por su interfaz limpia que a diferencia de muchos otros editores está libre de botones y elementos poco útiles, por su template oscuro default, su minimapa o su selección y cursor múltiple.
¿Qué es Sublime Text 2?
Sublime Text 2 es un editor de código al estilo TextMate, Kate o Redcar, su interfaz es limpia e intuitiva y soporta el uso de Snippets, Plugins y sistemas de construcción de código (Build Systems).
En un principio fue creado por Jon Skinner como una extensión rica en features de vim pero poco a poco fue adoptando identidad propia, debido a ello, Sublime Text 2 aún conserva un modo de edición tipo vi
llamado “Vintage mode“.
El modo Vintage está desactivado por defecto pero puede ser activado cambiando las opciones del editor en la configuración global.
Sublime Text 2 está escrito en C++ y Python, incluye una implementación de CPython2.6 embebida así como una consola que no es sino un intérprete de Python desde el cual podemos ejecutar comandos y realizar tareas de retrospección y hacks múltiples.
La interfaz de plugins está programada en Python por lo que podemos programar plugins para el editor en ese lenguaje de programación. Los módulos que podemos importar y utilizar son: sublime, sublimelog, window y view.
Los archivos de configuración de Sublime Text 2 son sencillamente diccionarios de Python y todos los aspectos del editor se controlan editando esos archivos tal y como lo harías en cualquier script.
Features
Algunas de las features que incluye Sublime Text 2 son:
-
Minimapa: El minimapa consiste en una preview de la estructura de nuestro código que puede ser colocada a un lado del tab o bien puede ser ocultada. Es muy útil para desplazarse por el archivo cuando conocemos bien la estructura del mismo.
-
Multi Selección: La multiselección no es algo nuevo, ya lo incorporaba desde hace mucho tiempo el editor Ultraedit para Windows. Para hacer una selección múltiple de un término por diferentes partes del archivo solo tenemos que situar el cursor dentro de la palabra que queremos buscar y hacer Cmd+D en Mac OS X o Ctrl+D en Windows y Linux
-
Multi Cursor: Al usar multi selección Sublime Text nos crea n cursores con los que podemos escribir texto de forma arbitraria en n posiciones diferentes en paralelo, mola
-
Multi Layout: Viene con siete configuraciones de layout donde podemos elegir editar en una sola ventana o hacer split de hasta cuatro ventanas verticales o cuatro ventanas en grid. Existe un plugin para poder crear más layouts, en Linux al menos vuelve el editor inestable.
-
Soporte nativo para infinidad de lenguajes: Soporta de forma nativa infinidad de lenguajes, incluidos Clojure, Haskell, Erlang, Scala y Go (por citar unos pocos)
-
Syntax Highlight configurable: El remarcado de sintaxis es completamente configurable a través de archivos de configuración por usuario
-
Búsqueda Dinámica: Se puede hacer búsqueda de expresiones regulares o normal por archivos, por proyectos, por directorios, por una conjunción de ellos o por todo a la vez
-
Auto completado y marcado de llaves: Podemos ir a la llave que cierra o abre un bloque de forma sencilla
-
Soporte de Snippets y Plugins: Los snippets son como las macros o los bundles y son bastante útiles, existen infinidad de plugins como el plugin de ZenCoding
-
Configuración total de Keybindings: Todas las keys pueden ser sobrescritas a nuestro gusto, esto es awesome de verdad
-
Acceso rápido a linea o archivo: Podemos abrir un archivo utilizando el keybinding Cmd+P en Mac OS X o Ctrl+P en Win y Linux y escribiendo el nombre del mismo o navegando por la lista. También podemos ir a una línea utilizando los dos puntos y el número de línea (:245 por ejemplo).
-
Paleta de Comandos:: Podemos utilizar Shift+Cmd+P en Mac OS X o Shift+Ctrl+P en Win y Linux para acceder a la Paleta de Comandos donde podremos filtrar y utilizar cualquier comando que queramos. Esto es muy útil para utilizar junto al Controlador de Paquetes (del que hablaremos en otro post).
Conclusión
Sublime Text tiene “un embrujo“ que lo hace realmente agradable, que esté disponible en las tres plataformas y que además permita una configuración total de shortcuts es un epic win puesto que podemos utilizar las mismas combinaciones de teclas para todos los sistemas.
Es un editor que recomiendo sin duda, la versión 2 está en beta y se puede usar sin trabas de forma gratuita por tiempo indefinido, aunque un servidor pagó la licencia al segundo día de uso.
Más Información | Página Oficial de Sublime Text
Más en Genbeta Dev | Sublime Text 2: Plugins, the easy way