Vim es un editor de texto poderoso, que usado correctamente puede ayudarnos a ser más productivos. En la presentación explicamos un poco su naturaleza y algunos tips en el proceso de adentrarse en él.
13. ¿En qué se diferencia de
otros editores?
Paolo
14. ¡Lo encuentras en todos lados!
¿En qué se diferencia de otros editores?
Paolo
15. ¿En qué se diferencia de otros editores?
Modos de edición.
Billy
16. ¿En qué se diferencia de otros editores?
Dos modos de edición principales.
Modo de inserción
Para tipear
Billy
17. ¿En qué se diferencia de otros editores?
Dos modos de edición principales.
Modo de comandos
Para ejecutar acciones:
moverse, copiar,
pegar...
Billy
El movimiento de SC dice: no solo software funcionando, sino software bien diseñado, para diseñar se necesita tiempo.
Los desarrolladores normalmente usamos gran parte de nuestro tiempo editando código. Más modificándolo que creándolo desde cero.
Pregúntense ahora, ¿cuánto tiempo de su día dedican a modificar código improductivamente?
Ahora nosotros trabajamos en un proyecto que tiene microservicios escritos en Java, Golang, Ruby y ahora NodeJS (el frontend con ES2016). ¿Cómo hacemos para ser productivos con tanto? En la presentación les diremos cómo, y para explicarles ello, les vamos a contar nuestra vida antes de conocer Vim.
El foco de la presentación es mostrar lo útil que puede ser Vim pero no vamos a enseñar los comandos (no alcanzan en una presentación).
En el libro de Pragmatic Programmer hay un capítulo entero (Power Editing) a ser mejor desarrollador conociendo bien un tipo de editor: que sea configurable, extensible y programable. Que te permita hightlight de sintaxis, autocompletado, autoindentación, brindarte bootstrap.
Es un editor que nace hace mucho mucho tiempo atrás… cuando comenzaba Unix. Es la versión mejorada de Vi. No usa muchos recursos del computador, tiene muchos años de historia, una comunidad muy activa.
¿Cómo era? No diseñado para la belleza sino para ser productivo.
Después de todo lo que dijo, ¿¡cómo no estar entusiasmado para trabajar con algo como Vim!?
¿Cómo luce ahora? Sigue siendo un editor orientado a la productividad, no a la intuición.
¿Cómo es que puede atraer a personas como nosotros? Cuando usamos Vim por primera vez, nuestra vida cambió.
Veamos una edición en vivo de un archivo.
Markdown tiene dos formas para definir elementos de título: con # y con subrayado.
Vamos a pasarlo a subrayado porque no usamos más que dos niveles.
Al inicio no habían muchas teclas, con un teclado simple sería suficiente para Vim (pista: no tiene teclas de navegación así nomás, no tiene teclas de inicio, fin, página arriba, abajo...)
Es por eso que muchas de las cosas que se hacen con él usan el teclado.
Es un editor que lleva al programador a usar mucho el teclado para hacer las cosas.
¿Pero cómo es la primera vez que lo usas?
Por ejemplo, pon a alguien como un diseñador en frente de Vim.
¡Y le pasa a todos, incluso desarrolladores, la primera vez (o única)!
A diferencia principalmente de su rival, emacs. Emacs usa conjunto de comandos y es más un entorno de desarrollo. Vim está más orientado a la edición. Hace una cosa y la hace bien. Puede usarse sobre otros entornos de desarrollo.
Una cosa grandiosa de Vim es que es ubicuo:, lo encuentras en cualquier plataforma (incluso en editores online)
Vamos a usar aquí algo la metáfora del samurai (iaido). Un samurai sabe qué modo es apropiado según la tarea a realizar.
Cuando Vim está corriendo, usa un modo a la vez. Cada modo es poderoso según lo que necesitemos.
Lo más típico que haces con un editor cualquiera… Vim también lo tiene... Para activarlo, podemos usar la letra i. Es el modo al que normalmente queremos ingresar. Es lo que todos los que usamos en un editor típico al querer tipear.
¡Pero tipear no es el cuello de botella!
Este es el modo con el que podemos hacer mucho. Para entrar a este modo desde cualquier otro, usamos la letra Esc. Con este modo navegamos, copiamos, pegamos, cambiamos, movemos, etc.
Para navegar, podemos usar: h, j, k, l.
El modo de inserción es como la espada.
Uno debe estar siempre que se pueda en modo de comandos (normal).
Se puede ser muy productivo sin tocar ninguno de los features altamente avanzados.
No todos los comandos usan mnemónicos. Es difícil hacer mucho con 26 letras.
Podemos comenzar con comandos básicos y tratar de entenderlos, asociarlo a palabras con sentido. Pero mejor en inglés.
Brinda atomicidad para deshacer o rehacer cambios. Igualmente para repetir. Puedo deshacer una o más veces.
Puedo duplicar una acción una o más veces.
Vimium es una extensión de Chrome que permite manipular todo el navegador: pestañas, página actual, links.
Wasavi es una extensión también para Chrome que permite que se puedan editar con Vim entradas de texto como textareas, editable contents e inputs tradicionales.
Cuando trabajamos con nuestros IDEs, los cuales tienen muchas comodidades, miles de plugins, buenas sugerencias, tienen todo lo necesario para programar en el lenguaje deseado, podemos usar Vim sin afectar su poderío (porque Vim hace una cosa y la hace bien).
Tmux junto con Vim ayuda a que se pueda tener un ambiente de trabajo en el terminal adecuado para las necesidades de un desarrollador poderoso. Sirve para poder incluso hacer pairing remote.
¿Qué hemos aprendido en este tiempo que hemos vivido a programar con Vim en forma grupal?
No todos quieren programar rápido. Algunos necesitan su tiempo para pensar antes de hacer.
Si va a ser usado en tu equipo y tienes estrellas que desarrollan a su modo.
Se puede emplear este plugin que es muy bueno y uniformiza los estándares de edición de texto.
Vim tiene una curva pronunciada de aprendizaje, pero los beneficios son muchos.
A Seiya lo golpeaban, lo humillaban, pero él continuaba.
Haz como Seiya, eleva tu cosmos.
Vim fue creado cuando lo tradicional eran los teclados con distribución ANSII. Es más fácil por eso con un teclado inglés.
De todos modos, si usas teclado en español u otro, igual puedes usarlo....
Así es más fácil recordar entre varios, además que motiva a las personas.
No hay una receta para aprender rápido.
Vim es un proceso largo, pero les damos unos tips.
Practica bastante para aprender lo que necesitas. Lo sabrás con el tiempo.
Aprender movimientos básicos y como ir a modo de inserción y salir
Aprender a ejecutar algunos operadores
Haz que cada etapa tome su tiempo para poder asimilar los nuevos conocimientos.
Recuerda que con lo poco que vayas aprendiendo ya te vas haciendo productivo.
Ten en un lugar visible un mapa de las teclas para hacerlo más fácil de recordar.
Puedes hacerlo con un post-it al costado de tu pantalla.
Vim puede sonar que es complicado y puede asustar, ¿pero no es enfrentar el miedo lo que nos hace valientes? El riesgo de hacer algo que te puede hacer poderoso, ¿no te anima?
¿Recuerdan la pregunta inicial? ¿Cuánto tiempo dedican a ediciones improductivas? Imagínense ahora: ¿cuánto de su tiempo podrían dedicar a tareas productivas por usar Vim? Anímate a salir de tu zona de comodidad