SlideShare una empresa de Scribd logo
1 de 44
Desarrollando a la velocidad de
la luz
Optimizando el desarrollo con Vim
Billy Caballero Paolo Carrasco
Nuestras historias antes
de trabajar con Vim...
Agenda
¿Cómo le hemos sacado
el jugo?
Consejos de patas
¿Cómo aprender
rápido?
Conociendo un poco
más a Vim
01
02
03
04
Usa y conoce
bien un editor
Paolo
¿Qué es Vim?
Paolo
I'm excited
Billy
Billy
Cambiemos el
estilo de títulos
En nuestro archivo README
Basado en una historia real
Es un editor muy muy diferente…
Paolo
Es un editor muy muy diferente… ¡muy diferente!
Paolo
Billy
Billy
¿En qué se diferencia de
otros editores?
Paolo
¡Lo encuentras en todos lados!
¿En qué se diferencia de otros editores?
Paolo
¿En qué se diferencia de otros editores?
Modos de edición.
Billy
¿En qué se diferencia de otros editores?
Dos modos de edición principales.
Modo de inserción
Para tipear
Billy
¿En qué se diferencia de otros editores?
Dos modos de edición principales.
Modo de comandos
Para ejecutar acciones:
moverse, copiar,
pegar...
Billy
¿Cómo ser más productivo?
Billy
Piensa natural
¡Necesitamos pensar en inglés!
d2w
Delete 2 words
ci"
Change inside quotes
… trivia:
Delete ‘til ;
dt; Paolo
Estás o bien dentro o
bien fuera. No hay
punto medio.
Paolo
¿Cómo le hemos sacado el
jugo?
Paolo
.vimrc
Podemos configurar
vim para que se
ajuste a nuestras
necesidades
típicas.
Billy
Plugins
Algunos plugins
hacen demasiado
poderoso a Vim:
NERDTree, Emmet,
vim-airline, etc.
Más info en
vimawesome.com
Paolo
Vimium in action
Billy
Wasavi!
Paolo
Nuestros IDEs
Billy
tmux + vim = winner team!
Paolo
Consejos de patas
Paolo
No lo hagas obligatorio
para todos
Billy
Tengo estrellas en mi
equipo
Paolo
.editorconfig
Paolo
No te rindas
Billy
Usa teclado en inglés
Paolo
Aprende haciendo
pair/mob
programming
Billy
¿Cómo aprender rápido?
Billy
NADIE conoce TODO de Vim.
Nadie lo necesita, solo
necesitas saber lo
necesario para hacer tu
trabajo
Paolo
Vim Adventures
vim-adventures.com
Billy
OpenVim
openvim.com
Paolo
VimTutor
Incluido generalmente
(~25 min)
Billy
Vim pasito a pasito 1
Paolo
Vim pasito a pasito 2
Paolo
Vim pasito a pasito…
más información aquí
Paolo
Billy
¿Te animas a
salir de tu zona
de comfort?
Paolo

Más contenido relacionado

Último

Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)edisonquispecalderon
 
Tkinter para python (curso de interfaces gráficas)
Tkinter para python (curso de interfaces gráficas)Tkinter para python (curso de interfaces gráficas)
Tkinter para python (curso de interfaces gráficas)martinezhd1
 
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxCiberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxcorreafrancoci00
 
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptxCIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptxalzabenjaminci00
 
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNETLA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNETCasa
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...juanforero141
 

Último (6)

Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)Virus informático (tipos y opciones para prevenir)
Virus informático (tipos y opciones para prevenir)
 
Tkinter para python (curso de interfaces gráficas)
Tkinter para python (curso de interfaces gráficas)Tkinter para python (curso de interfaces gráficas)
Tkinter para python (curso de interfaces gráficas)
 
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptxCiberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
Ciberseguridad y Seguridad Informática Franco Correa Grupo B.pptx
 
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptxCIBERSEGURIDAD  Y SEGURIDAD INFORMÁTICA.pptx
CIBERSEGURIDAD Y SEGURIDAD INFORMÁTICA.pptx
 
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNETLA CALIDAD DE LA INFORMACION  EN LA NUEVA ERA DEL INTERNET
LA CALIDAD DE LA INFORMACION EN LA NUEVA ERA DEL INTERNET
 
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
serenidad APP presentacion.pdfes una innovadora aplicación móvil diseñada par...
 

Destacado

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Destacado (20)

Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 

Desarrollando a la velocidad de la luz con vim

Notas del editor

  1. 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?
  2. 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.
  3. 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).
  4. 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.
  5. 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.
  6. Después de todo lo que dijo, ¿¡cómo no estar entusiasmado para trabajar con algo como Vim!?
  7. ¿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.
  8. 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.
  9. 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...)
  10. 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.
  11. ¿Pero cómo es la primera vez que lo usas? Por ejemplo, pon a alguien como un diseñador en frente de Vim.
  12. ¡Y le pasa a todos, incluso desarrolladores, la primera vez (o única)!
  13. 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.
  14. Una cosa grandiosa de Vim es que es ubicuo:, lo encuentras en cualquier plataforma (incluso en editores online)
  15. 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.
  16. 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!
  17. 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.
  18. El modo de inserción es como la espada. Uno debe estar siempre que se pueda en modo de comandos (normal).
  19. 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.
  20. 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.
  21. Vimium es una extensión de Chrome que permite manipular todo el navegador: pestañas, página actual, links.
  22. 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.
  23. 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).
  24. 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.
  25. ¿Qué hemos aprendido en este tiempo que hemos vivido a programar con Vim en forma grupal?
  26. No todos quieren programar rápido. Algunos necesitan su tiempo para pensar antes de hacer.
  27. Si va a ser usado en tu equipo y tienes estrellas que desarrollan a su modo.
  28. Se puede emplear este plugin que es muy bueno y uniformiza los estándares de edición de texto.
  29. 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.
  30. 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....
  31. Así es más fácil recordar entre varios, además que motiva a las personas.
  32. No hay una receta para aprender rápido. Vim es un proceso largo, pero les damos unos tips.
  33. Practica bastante para aprender lo que necesitas. Lo sabrás con el tiempo.
  34. Aprender movimientos básicos y como ir a modo de inserción y salir
  35. Aprender a ejecutar algunos operadores
  36. 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.
  37. 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.
  38. 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