miércoles, 18 de septiembre de 2013

Las murallas infranqueables de vim



En estos días he tratado de mejorar mis habilidades con vim porque, honestamente, no paso de ser un principiante. Lo digo basado en lo que pude aprender en este video grabado en una conferencia europea de Ruby On Rails. Hay varios mensajes claros. En general es un hecho que el desempeño de un programador aumenta muchísimo a medida que le resulta intuitivo el uso de los diferentes comandos de vi, especialmente si se construye un .vimrc que permita reducir el número de teclas utilizadas para realizar las acciones más comunes. Es por eso que no es una ciencia exacta. Algunas personas hacen ciertas cosas más frecuentemente que otras. Pero esto no basta, hay que coneguirse un buen teclado. Empiezo a pensar que los teclados que traen las computadoras y laptops frecuentemente no son apropiados para los programadores. Interesado en estos temas hice mis búsquedas y descubrí las respuestas de varios misterios.

Las teclas hjkl

Son disímeles las reacciones de las personas cuando conocen que en vi los movimientos del cursor se hacen con las teclas h (izquierda) , j (abajo), k (arriba), l (derecha). Algunos no se explican semejante barbaridad. Otros (casi siempre simpatizantes de Unix y/o GNU/Linux) inicialmente piensan que fue una decisión inteligente para disminuir el desplazamiento de las manos. Puede ser que haya algo de esto, quién sabe. En realidad el caso es que Bill Joy creó el editor de textos vi utilizando la terminal ADM-3A. Si observan la figura se podrán dar cuenta de que en ese (antiguo) aparato el desplazamiento se hacía con esas teclas. Más allá de que fuera una decisión inteligente o no, el comportamiento de vi fue algo natural (para la época). Después llegó vim y el resto es historia ... ;)

Teclas hjkl de ADM-3A

A continuación una foto de cuerpo entero de la terminal dónde se creó vi

Terminal ADM-3A de Lear Siegler

A continuación aparece el teclado completo. Fíjense en la posición de la tecla ESC y se darán cuenta de las razones por las cuales se utiliza para cambiar de modo.

Teclado completo ADM-3A

La huella de este terminal no parece limitarse a estos hechos. Si se presta atención a la tecla Home en la esquina superior derecha quizás comprendamos porqué es que la carpeta home de los usuarios de Unix (GNU , ...) es referenciada con el símbolo ~.

No son pocos los detalles interesantes relacionados con vi. Es un editor de texto que no deja de sorprenderme. A todos los interesados en conocer todos los secretos de vim les respondo parafraseando un poema de Nogueras

(...) vi tiene sus arcanos
vi tiene sus secretos
vi tiene sus «comandos infranqueables» (...)

No hay comentarios:

Publicar un comentario