En los últimos tiempos se ha visto un incremento en la popularidad de Sublime Text como editor favorito para muchos programadores. Este editor con aspecto retro se ha ganado poco a poco una comunidad muy activa de simpatizantes y defensores que ha atraído cada vez más la atención del resto de los programadores. Uno de los principales motivos por los cuales se prefiere Sublime Text por sobre las modernas IDE's que ofrece el mercado como son Visual Studio, Eclipse o NetBeans, es el un programa ligero que no devora recursos de nuestras computadoras. Sin embargo, existe también toda una gran tradición de editores de texto clásicos usados para la programación que compiten directamente en este sector, como lo son VIM o Emacs.
En este artículo presentaré una comparación entre VIM y Sublime Text en forma de batalla. Se tomarán una cierta cantidad de categorías en las cuales los editores pueden quedar como ganadores o empatados. Cada categoría valdrá un punto y al final se contará los puntos que cada uno de los editores logró acumular. Se utilizará la versión Vi Improved 7 del editor Vi, conocida como VIM 7, y sublime text 2, ya que es la versión estable en este momento. Sublime text 3 se encuentra en estado beta por lo que no se tomará en cuenta en este momento.
Editor más ligero
Como he mencionado uno de los motivos más importantes por los que preferimos un editor por sobre un IDE es por su reducido uso de recursos de sistemas. Compararemos a los dos editores en lo que se refiere a uso de RAM a la hora de ejecutarse. Para ellos utilizaré el monitor de sistema.
-
- Sublime Text: 59.9 MB
- Terminal con VIM: 16.8 MB
El editor más ligero es claramente VIM.
VIM 1 punto. (VIM 1 Sublime Text 0)
Autocompletado
Sublime text utiliza un auto completado muy avanzado, con el cual se logra tener acceder de manera automática a todo el espectro de palabras utilizadas en el archivo de código fuente y a las palabras de lenguaje de programación.
En VIM tenemos también un poderoso sistema de completado llamado omni completion, con el cual podemos acceder usando las combinaciones de teclas C-x C-n o C-x C-o. Cuenta además con integración para el poderoso sistema ctags para sistemas C o C++. En este caso se requiere una preparación del entorno.
Tomo como ganador a Sublime Text en este punto por la facilidad de uso del autocompletado, aunque el resultado es muy ajustado, ya que para una persona versada en VIM esto no representará ningún problema.
Sublime text 1 punto (VIM 1 Sublime Text 1)
Integración con el intérprete/Compilador
Si bien VIM tiene comandos como :make o cuenta con la posibilidad de especificar una orden particular en el archivo de configuración, no es de uso tan fácil como Sublime Text que con comando b tenemos el resultado. También existe una gran ventaja para VIM, la cual consiste en que esta configuración personalizada llevará a especificar exactamente que comando se le transmite al compilador. Sin embargo, daré el punto a Sublime Text.
Sublime text 1 punto (VIM 1 Sublime Text 2)
Editor mas configurable
Si bien sublime text tiene un interesante archivo de configuración estilo json, vim tiene un archivo de configuración tan amplio que es posible programar dentro de el con su propio lenguaje. Las opciones son infinitas, quizá sólo superado por Emacs. En este caso es posible otorgar significado a cada una de las teclas de que disponemos, combinaciones y en cada uno de los modos con los que cuenta VIM.
VIM 1 punto (VIM 2 Sublime Text 2)
Rapidez de escritura
Si algo ha hecho famoso a VIM es su ingenioso sistema de modos, donde contamos con modo comando, visual, edición, comando, ex, selección, entre otros. Esto ha permitido a los usuarios experimentados mejorar de manera increíble su tiempo de ingreso y edición de texto. El modo comando ha sido implementado de manera parcial por Vintage Mode en Sublime text recreando los famosos atajos hjkl, pero dejando de lado la edición más compleja. Para un uso continuo y experimentado, VIM se convierte en una herramienta mucho más veloz que Sublime.
VIM 1 punto (VIM 3 Sublime Text 2)
Multiplataforma
Las plataformas soportadas por los editores son:
- Sublime: Windows (para 32 y 64 bit), Mac OS X (10.6 o superior), Linux (para x86 de 32 o 64 bits.
- VIM: AmigaOS, Atari MiNT, BeOS, DOS, GNU/Linux (todas las plataformas), Mac OS, NextStep, OS/2, OSF, RISC OS, IRIX, Unix(muchas variedades, como por ejemplo BSD, AIX y HP-UX), VMS, y Windows 3.x/95/98/ME/2000/NT/XP.
En este caso es evidente la superioridad de VIM, que es multiplataforma en toda la extensión de la palabra.
VIM 1 punto (VIM 4 Sublime Text 2)
Software libre / Código abierto
Para muchos esto no será una característica importante y pagarán con gusto el costo que tiene Sublime Text en su edición registrada o seguirán usando su versión sin registro. Sin embargo, para aquellos programadores que deseen modificar la base de código para su editor o modificar las características disponibles a la hora de compilar el hecho de que VIM sea Software Libre será una característica muy importante. Esto también permite que VIM sea una plataforma multiplataforma en toda la extensión de la palabra.
VIM 1 punto (VIM 5 Sublime Text 2)
Soporte a lenguajes
Compararemos la instalación por defecto de lenguajes soportados a la hora de instalar la aplicación para trabajar con ellos en forma de reconocimiento de sintaxis.
- Sublime text: 48
- VIM: 2072
En este caso VIM tiene una gran ventaja al soportar no sólo lenguajes de programación si no todo tipo de ficheros de configuración o lenguajes de marcado, por lo que su uso se extiende mucho más lejos que el de un editor de programación. El punto es para VIM
VIM 1 punto (VIM 6 Sublime Text 2)
Vision general del código fuente
Sublime Text tiene una forma muy interesante de poder ver el conjunto del archivo en el que tenemos nuestro código fuente. Se muestra al lado derecho una miniatura del codigo, con lo cual es fácil de localizarnos y acceder a cualquier parte de el. La ventaja que ofrece sublime en este caso es gracias a su presentación gráfica, lo que convierte esta ventaja en un punto.
Sublime Text 1 punto (VIM 6 Sublime Text 3)
Facilidad de uso
Definitivamente Sublime es el claro ganador. En el mismo momento en que abrimos el editor tenemos la posibilidad de comenzar a teclear nuestro código sin ningún problema, mientras que en VIM será necesario leer un tutorial básico y practicar un buen rato los diferentes comandos y modos de los que dispone y sin los cuales no es posible escribir nada. No existen menús ni ninguna herramienta gráfica, a menos que usemos gvim, que nos faciliten la edición. Pero este artículo compara Sublime con Vim, por lo que dejaremos fuera a gVim.
Sublime Text 1 punto (VIM 6 Sublime Text 4)
Trabajo con proyectos
Es una característica con la que cuenta Sublime Text por defecto a la hora de instalarlo, lo cual no sucede con VIM, que tiene esto en forma de script complementario. Es por esto que Sublime gana este punto. La característica es importante para poder mantener un trabajo ordenado.
Sublime Text 1 punto (VIM 6 Sublime Text 5)
Plugins
Los dos editores tienen un fuerte entorno de Plugins, pero para poder medirlos no podemos basarnos únicamente en un factor, como puede ser el número o la calidad de sus scripts más famosos. He escogido como ganador a VIM en este aspecto por su larga experiencia en Plugins, que en sus 24 años de vida ha acumulado una enorme cantidad y calidad de los mismos, que cubren casi cualquier necesidades, no sólo de programación, si no para la edición de cualquier tipo de texto y la transformación de vim en casi un IDE. Si bien la calidad, estabilidad y comunidad de Sublime está creciendo rápidamente, aún no puede igualarse al acervo de VIM.
VIM 1 punto (VIM 7 Sublime Text 5)
Floding text
Es una característica que nos permite mantener el control sobre los puntos claves de nuestro programa, como son funciones o clases. Los dos editores tienen poderosas herramientas para llevar acabo esto. Aquí sus comandos con los cuales no tendremos que usar el ratón:
- Sublime: Comando + K + nivel para compactar y Comando K comando J para expandir. (entre muchos otras opciones)
- VIM: zi para cambiar expandido a compacto y viceversa. También tenemos zR o zM para hacerlo con todos (entre muchas otras opciones)
Como vemos es cuestión de gustos, por lo que dejaré este punto como un empate.
VIM 1 punto (VIM 7.5 Sublime Text 5.5)
Conclusiones.
Como hemos podido ver, los dos editores tienen grandes fuerzas, pero por el momento ha logrado imponerse VIM. Con el comentario y sugerencias de ustedes podré hacer más completo esta batalla. Recuerden que la experiencia de cada uno de ustedes podrá aportar nuevas categorías a esta batalla.
Marcador final: VIM 7.5 Sublime Text 5.5
Ganador: VIM
Fuente: eenube.com