¿Cuáles son los beneficios de aprender Vim? [cerrado]

Resuelto Trap asked hace 15 años • 34 respuestas

Como programador paso muchas horas delante del teclado y llevo haciéndolo durante los últimos 12 años, más o menos. Si hay algo a lo que nunca me he acostumbrado durante todo este tiempo son estas microinterrupciones constantes, molestas y casi inconscientes, que experimento mientras codifico, debido a algunas de las tareas de edición de código más comunes. Cosas como copiar y pegar desde una línea diferente (o incluso la misma línea), o mover 1 o 2 líneas hacia arriba o hacia abajo desde la posición actual requieren escribir demasiado o implican el uso de las teclas de flecha... y se vuelve peor cuando quiero avanzar más: termino usando el mouse. Ahora imagina este mismo escenario pero en una computadora portátil.

Siempre he considerado aprender VIM, pero la cantidad de tiempo necesaria para dominarlo siempre me ha hecho querer dar un paso atrás.

Me gustaría saber de personas que lo han aprendido y si termina siendo una de esas cosas sin las que no puedes vivir.

En el trabajo, uso VS2008, C# y R#, que juntos hacen que editar código sea mucho más rápido y fácil que nunca, pero aun así creo que podría disfrutar sin tener que usar el mouse.

Y ni siquiera las teclas de flecha.

Trap avatar Feb 28 '09 06:02 Trap
Aceptado

He estado usando vi y vim también durante unos 20 años y todavía estoy aprendiendo cosas nuevas.

El sitio Best of Vim Tips de David Rayner es una lista excelente, aunque probablemente sea más útil una vez que esté familiarizado con vim.

También quiero mencionar el sitio ViEmu que tiene excelente información sobre consejos de vi/vim y especialmente el artículo ¿Por qué, oh POR QUÉ, esos locos usan vi? ( versión archivada )

Andrew Hendrie avatar Feb 27 '2009 23:02 Andrew Hendrie

¿Podría vivir sin él? Fácilmente.

¿Es útil? Sí.

Razones para aprender

  • Se garantiza que vi existe en todos los sistemas Unix y también existe en la mayoría de los Linux. Ese tipo de cobertura amplia hace que valga la pena aprender.

  • Es mucho más rápido usar vi para una sudoedición:

    $sudovi

  • Además, GMail utiliza comandos vi-ish para seleccionar y mover correos electrónicos.

No es necesario ser un maestro.

Solo aprende

Los basicos:

  • Cómo cambiar del modo comando al modo insercióni
  • Cómo cambiar del modo de inserción al modo de comandoEsc
  • Cómo navegar hacia arriba en una línea en modo comandok
  • Cómo navegar hacia abajo en una línea en modo comandoj
  • Cómo navegar a la izquierda de un personaje en modo comandoh
  • Cómo navegar hacia la derecha en un personajel
  • Cómo guardar un archivo :wEnter(escribir)
  • Cómo salir sin guardar (en modo comando):q!Enter
  • Cómo deshaceru
  • Cómo rehacer Ctrl+r
  • Puede combinar escribir y salir (en modo comando)::wqEnter

A partir de ahí, el resto simplemente te hará más rápido.

Trampas Kirk avatar Feb 27 '2009 23:02 Trampas Kirk

Ejecutar vimtutor solo me llevó 30 minutos, lo cual fue suficiente para familiarizarme con vim. Valió la pena cada segundo.

Blorgbeard avatar Feb 27 '2009 23:02 Blorgbeard

Si eres un programador que edita una gran cantidad de texto, entonces es importante que aprendas A Serious Text Editor. El editor de texto serio que aprenda no es muy importante y depende en gran medida de los tipos de entornos en los que espera editar.

La razón es que estos editores están altamente optimizados para realizar los tipos de tareas que usted realizará con frecuencia. Por ejemplo, considere agregar el mismo fragmento de texto al final de cada línea. Esto es trivial en A Serious Text Editor, pero por lo demás ridículamente engorroso.

Por lo general, se consideran las características principales de vim: A) que está disponible en prácticamente todos los Unix que encontrará y B) sus dedos rara vez tienen que salir de la fila de inicio, lo que significa que podrá editar texto muy, muy rápidamente. . También suele ser muy rápido y liviano incluso al editar archivos grandes.

Sin embargo, existen muchas alternativas. Emacs es el ejemplo más común, por supuesto, y es mucho más que un simple editor de texto avanzado si realmente profundizas en él. Personalmente , ahora soy un usuario de TextMate muy feliz después de años de usar vim/gvim.

El truco para cambiar a cualquiera de estos es obligarse a usarlos de la forma prevista. Por ejemplo, en vim, si realiza manualmente cada paso en un proceso de varios pasos o si usa las teclas de flecha o el mouse, entonces probablemente haya una mejor manera de hacerlo. Deja lo que estás haciendo y búscalo.

Si no hace nada más, aprenda los controles de navegación básicos tanto para vim como para Emacs, ya que aparecen por todas partes. Por ejemplo, puede usar controles de estilo Emacs en cualquier campo de entrada de texto en Mac OS, en la mayoría de los shells de Unix, en Eclipse, etc. Puede usar controles de estilo vim en el comando less (1), en Slashdot , en gmail , etc.

¡Divertirse!

 avatar Feb 28 '2009 00:02

Definitivamente vale la pena el esfuerzo.

Hay una razón obvia que cualquiera que lo use Vi(m)le dirá, y otras dos que la gente nunca parece mencionar.

Aquí está el obvio:

  1. vies a la vez omnipresente e increíblemente poderoso, y al aprenderlo una vez, obtienes la capacidad de ejercer ese poder en prácticamente cualquier computadora que tenga un teclado.

Y estas son las razones menos conocidas para aprender Vim:

  1. No es ni la mitad del esfuerzo que crees que será. Ejecute el tutor de Vim una vez ( vimtutoren un shell o en Windows, ejecútelo desde la carpeta Vim en el menú Inicio) y ya estará en el camino hacia la competencia, y todo irá cuesta abajo a partir de ahí. Estaba en el nivel en el que podía utilizarme Vimen el trabajo sin sufrir ningún impacto notable en la productividad en menos de una semana de la hora del almuerzo.

  2. Es divertido ! Editar texto es como un juego para mí ahora. Lo disfruto activamente, lo cual es bastante ridículo, si lo piensas.

También hay dos buenas razones para no aprender Vim:

  1. Es adictivo y te encontrarás deseando poder usar Vimcomandos en toda tu informática y maldiciendo cuando no puedas. Afortunadamente, al menos en algunas situaciones, hay formas de solucionar este problema .

  2. Nuevamente, es adictivo y, aunque no perderá productividad al usarlo , Vim perderá horas buscando buenos consejos para mejorar su Vimexperiencia y leyendo la etiqueta de Vim en Stack Overflow.

Rich avatar May 06 '2010 13:05 Rich