¿Cómo puedo inspirar a otros a usar vi / Vim?

37

Estaba extremadamente impresionado con el poder de vi desde la primera media hora que lo usé. Luego descubrí que en algunos entornos de trabajo, hay muchas personas (¡técnicos e incluso administradores de sistemas!) Que lo evitan como "demasiado complicado" sin haber ejecutado el vimtutor, y otras personas que usan vi solo en modo de inserción y se pierde todo el punto de la edición modal.

¿Cómo puedo demostrar el poder de vi / Vim a otros de tal manera que los inspire a aprenderlo y usarlo?

Estoy especialmente interesado en cualquier historia real de lo que ha tenido éxito en lograr que otros (o usted mismo) aprendan y usen Vim.

Comodín
fuente
44
Leí las pautas sobre preguntas subjetivas y creo que esto encaja.
Comodín del
@Wildcard quizás encaja en preguntas subjetivas, pero realmente es demasiado amplio. Vea meta.vi.stackexchange.com/q/1278/205 para la discusión que tuvimos sobre una pregunta similarmente "subjetiva".
muru
Te entiendo. Leí esa discusión (y varias discusiones vinculadas). Todavía creo que esta pregunta es apropiada, pero no creo que deba discutir eso aquí; ¿Hay un lugar en meta donde deberíamos discutirlo?
Comodín del
@Wildcard siempre puedes publicar una pregunta en Vi y Vim Meta sobre esta pregunta.
muru
1
@Rich Aquí hay un ejemplo de una publicación mediana: Por qué amo a Vim: son las características menos conocidas las que lo hacen tan increíble .
Serge Stroobandt

Respuestas:

54

Aunque he invertido algo de esfuerzo en Vim y su ecosistema, no trato activamente de convertir a otros. La mayoría de las personas con las que he trabajado no invierten mucho tiempo en mejorar su flujo de trabajo y su conjunto de herramientas porque están satisfechas con lo que tienen. Me parece perfectamente bien ... y odiaría ser el blanco de proselitismo constante relacionado con el editor, así que no se lo impongo a otros.

A veces, sin embargo, un compañero de trabajo puede estar intrigado por mi vimming y hacerme un par de preguntas. Cuando ocurre ese evento raro, estoy más que feliz de discutir el tema, demostrar trucos geniales y señalarle recursos útiles.

En mi último trabajo, un compañero de trabajo estaba muy interesado en Vim y conocía los conceptos básicos bastante bien ( vimtutor). Fue suficiente para poder realizar ediciones rápidas, pero le faltaba la confianza y los conocimientos necesarios para cambiar a Vim (algo que realmente quería). En un momento, tuvo que hacer una serie de ediciones repetitivas en un archivo JSON grande manualmente. Estaba angustiado por la idea de perder una hora haciendo eso y vino a buscar una solución más rápida / inteligente. Por supuesto, una macro simple hizo el trabajo en menos de un minuto (incluida la grabación) lo que me permitió explicar algunos conceptos clave ...

Un problema que enfrentan los recién llegados es que "¿Y ahora qué?" momento que viene justo después vimtutor. Vim esconde muy bien su belleza y no muchas personas tienen la voluntad de romper esa cáscara sin ayuda. Puedo proporcionar esa ayuda si es necesario ... pero nunca obligaré a Vim a otros.

romainl
fuente
20

Yo uso Vim para todo. Me refiero a todo. Programación, procesamiento de textos, escribir novelas, etc. Todo. He estado sentado en un concesionario de automóviles usando un Surface Pro 3 con Linux Virtual Box con Vim y la gente entabla conversaciones conmigo sobre lo que estoy haciendo.

Solo usa Vim. La gente acudirá a usted para averiguar qué está haciendo y por qué. Usualmente lo explico de esta manera:

Yo uso Vim porque tiene una huella muy pequeña. Microsoft Word tiene varios gigabytes y mi Surface solo tiene 128 GB de espacio. Necesito maximizar mi espacio y Vim me ayuda a hacerlo. También es extensible y me ayuda a mantener la concentración. Aquí mira. Demuestre algunos de mis complementos y muestre cómo Vim en pantalla completa esencialmente cubre todo para que yo pueda pensar .

A menudo demuestro LaTeX en combinación con Vim. Construiré un archivo LaTeX y luego lo compilaré en un hermoso PDF usando una plantilla que tengo. También demuestro mis plantillas de cartas y currículums. Insisto en lo importante que es separar el estilo del contenido. En este punto, las personas ya no están interesadas en lo que tengo que decir y lamentan haberme hablado.

Buscan una salida de la conversación y vuelvo a escribir. Vim es una experiencia religiosa más que un procesador de textos.

Me gustan las tortugas
fuente
3
Solo me pregunto: ¿también escribes tu correo electrónico en vim? (¡Sí!)
Oliphaunt - reinstalar a Monica el
55
@Oliphaunt Escribo correos electrónicos en VIM. Mi cliente de correo electrónico preferido es MUTT y cuando edito o creo un nuevo correo electrónico, se abre el editor de mi elección. Incluso uso VIM para agregar URLS a mi lector de fuentes RSS (newsbeuter).
ILikeTurtles
77
Algunas personas decidieron editar mi respuesta diciendo que uso Visual Basic. Uso Virtual Box y ejecuto Linux sobre Windows. Sin embargo, creo que estas ediciones son súper interesantes, así que lo dejaré. Es como jugar al teléfono con ediciones. La historia sigue cambiando a medida que más personas la editan. Divertido.
ILikeTurtles
2
@ Will Sí. Tengo una máquina virtual que ocupa algo como 2 GB o menos. Prefiero instalar un sistema operativo completo, VIM y todas mis otras herramientas que instalar un 4GB o cualquier copia de Microsoft Tools. La máquina virtual en sí puede expandirse si lo necesito, pero eso no ha sucedido todavía, ya que trabajo principalmente con archivos de texto cuando trato con esa computadora en particular. Si estaba usando FreeBSD, podría ejecutar una huella aún más pequeña y probablemente ejecutar toda la VM en un concierto.
ILikeTurtles
3
Office 365 requiere hasta 6 GB de espacio en el disco duro y hasta 4 GB de RAM. Puedo ejecutar un sistema operativo Linux completo con 4 GB de espacio en HD y 1028 MB de RAM. Menos si quiero empujar las cosas. Ejecuté FREEBSD en una máquina virtual y solo le di 256 MB de RAM. VIM para mí reemplaza a Office pero, además, una instalación completa del sistema operativo me brinda muchas más herramientas de las que Office proporciona en menos espacio. Espero que tenga sentido.
ILikeTurtles
17

Demuestre el poder del punto ('.') En modo comando. Repetir fácilmente una edición complicada con solo presionar una tecla generalmente parece mágico.

Dmitry Rubanovich
fuente
2
sí. algunos ejemplos aquí
roblogic
13

Como alguien que tuvo que aprender Vim en mi último trabajo, diría que el obstáculo más grande fue poner frente a una instalación "predeterminada" que no tenía opciones establecidas. Pasé la mayor parte del tiempo diciendo: "¿Por qué actúa de esta manera cuando todos esperarían que hiciera lo contrario?"

Resulta que todos los demás ya establecieron algunos valores predeterminados de "cordura" . Una vez que lo descubrí, me sentí mucho más feliz y "le di la oportunidad" de aprender más. Después de unos días de que el teclado numérico no funcionaba, las pestañas estaban mal, las búsquedas no funcionaban bien, etc. Estaba listo para tirar la toalla y nunca mirar hacia atrás.

Si realmente desea que a alguien le guste lo suficiente como para probar y aprender funciones más avanzadas, comience con el pie derecho con un archivo de configuración que esté optimizado para el tipo de trabajo que necesita hacer.

Jon B
fuente
44
Mira, lo abordé sin ninguna de estas molestas expectativas que mencionaste. Esto fue ayudado por la conciencia de que nació décadas antes de los productos con los que los usuarios generales están familiarizados hoy en día. Estoy abierto a mejores formas de trabajo, sean o no familiares. ¡Y realmente, ensillar a un novato con su propio archivo de configuración no es un muy buen tutorial!
underscore_d
+1. Tuve la misma experiencia y no podría estar más de acuerdo. Cuando tiene que completar el trabajo, cambiar a cualquier editor nuevo puede ser doloroso / imposible. No sé acerca de simplemente entregar un .vimrc, pero explicar qué es y ayudar a un nuevo usuario a establecer algunos valores predeterminados para su estilo de trabajo no solo puede ayudarlo a ser productivo rápidamente sino que también sirve como una forma de comenzar a exponer parte de vi La magia de (m).
Will
1
Leer un .vimrcarchivo con un montón de valores predeterminados útiles es realmente útil. He aprendido mucho sobre Vim solo mirando las opciones establecidas en github.com/amix/vimrc
icc97
Estoy completamente de acuerdo. Vim sería aún más popular si se incluyeran algunas baterías más. Mire, por ejemplo, lo que tenía que hacer para que el intercambio de palabras funcionara. Tal como está actualmente, vimentrega los bloques de construcción básicos desde los que uno tiene que configurar / programar el editor de texto con el que siempre soñó.
Serge Stroobandt
9

La mejor manera de inspirar a un perro viejo a usar un nuevo truco es tomar algo que está haciendo y mostrar cómo se puede hacer fácilmente más rápido / más fácil / mejor de otra manera.

Sin embargo, definitivamente hay una curva de aprendizaje involucrada que simplemente apaga a algunas personas. Una broma va

¿Cómo se genera realmente una cadena aleatoria? Pídale a un recién llegado que cierre vim.

Jesse
fuente
1
Buen punto. Como alguien que tiende a estar orientado al teclado en lugar del mouse, vi/ men muchas situaciones me ofrece un aumento de velocidad y / o evita pasar de un dispositivo a otro. Además, hago bastantes tareas de símbolo del sistema (Linux, Cygwin), y visiempre está ahí .
underscore_d
8

La mejor manera es aprender Vim tu mismo y demostrar su poder a los demás. Incluso usted no tiene que (demostrarlo): se promociona a sí mismo. Una vez que lo está utilizando con algunos colores de sintaxis elegantes en un fondo de terminal similar a un hack, la gente siente curiosidad y a menudo pregunta: ¿qué diablos estás haciendo ? Entonces muéstrales a ellos.

Cuando empareje la programación y vea que otro desarrollador comenzó a hacer un trabajo repetible que se siente como una tarea Sisyphean (como presionar la tecla Retroceso o las flechas cientos de veces), dígale cuánto le molesta esto, ya que en Vim solo necesita presionar unas pocas teclas en menos de un segundo

Consulte también las siguientes páginas para ver algunos trucos útiles de Vim:

kenorb
fuente
1
Tu segundo párrafo es perfecto. Excepto que el dolor es aún peor cuando los ves usando vim , en modo de inserción , y presionando las teclas de flecha para desplazarte hasta el final de la línea . Arrrggh! (No estoy inventando esto.)
Comodín el
1
En concordancia con @Wildcard, me volví loco viendo a mi colega tratando de analizar datos de ancho fijo contando pulsaciones de teclas , le tomó un par de semanas, mi ayuda fue rechazada. Suspiro
roblogic
7

Lo más importante: no empujes, no evangelices. Esté absolutamente seguro de su motivación. Si incluso hay un indicio de trabajo misionero, no comience. La abrumadora mayoría de las personas reacciona molesta o agresiva, porque la mera sugerencia de revisar otro flujo de trabajo conlleva una corriente de críticas. Que su flujo de trabajo sea mejor que el de ellos. Lo que cierra a muchas personas. En realidad, este es un principio general que funciona independientemente del entorno (piense en vegetarianos / comedores de carne, demócratas / republicanos, marcas de automóviles, recetas, ...) Todos hacen lo que hacen porque creen que lo que hacen es la forma correcta de hacerlo.

Es muy posible que, en primer lugar, no se pretendan críticas de su parte, pero esto sucede del otro lado y no hay nada que pueda hacer al respecto. Eso es humano para ti.

Sugiero sacar el tema cuando no hay una fecha límite, en un ambiente relajado. Hablar de su experiencia, de una manera cómo impresionado que eras y cuánto más eficiente que siente ahora. Nunca compares. Nunca digas "es mejor", ya que eso sería una declaración absoluta, solo pedir que te desafíen. Siempre vaya con "Soy más productivo de esta manera". De esta manera la otra persona no se puede descartar que se puede de hecho ser más productivos y que no aplican ningún tipo de presión. Si el otro retoma el tema, sé gentil y tal vez ofrezca compartir un enlace o dos, Vimcasts es un gran recurso, por ejemplo.

Aprender Vim es una gran tarea, especialmente teniendo en cuenta la increíble cantidad de tiempo que invierte para hacer su primera configuración correcta. Tenía tantos signos de interrogación en mi cabeza durante ese tiempo y casi cada segundo escenario parecía absurdo o incluso hostil. Es lo contrario de intuitivo. O alguien se apega y se vuelve progresivamente más "¡ajá!" momentos o simplemente lo dejará para un editor más parecido a Word. Lo que sea que funcione.

Al final, realmente no vale la pena debatir: todo el mundo usa lo que hace el trabajo. Esa es la belleza del código fuente: es universal.

Herrbischoff
fuente
7

La primera vez que usé vi fue en una clase de "introducción a Unix". El profesor no lo sabía muy bien, y lo presentó de una manera muy torpe. Tuvimos que memorizar lo suficiente para moverse si alguna vez nos quedamos atrapados en un sistema que no tenía nada más instalado. No eché un segundo vistazo después de ese semestre. Así es como no evangelizas vi, y creo que muchas personas tuvieron su primera experiencia.

Unos años más tarde, estaba en una clase corporativa de educación continua sobre Perl. El instructor usó vim en sus demostraciones y se ofreció a ayudar a las personas con él a un lado, a pesar de que no era el propósito principal de la clase.

Un lema no oficial de Perl es TMTOWTDI (hay más de una forma de hacerlo). Como la clase haría preguntas, el instructor haría ediciones para mostrar alternativas, más rápido de lo que podría describir las ediciones en palabras . Estaba acostumbrado a poder leer el código mientras se estaba editando, pero para él, la edición se produjo en una ráfaga de teclas, luego siguió la explicación, a una velocidad glacial en comparación. Si no tuviera que detenerse para explicarnos la edición, ya habría pasado a la siguiente tarea.

Tengo algunas oportunidades similares para demostrar vim:

  • Reuniones Scrum
  • Programación en pareja
  • Charlas tecnológicas
  • Demostraciones de software

Creo que solo mostrarle a las personas su potencial después de que lo aprendas los inspirará a superar la fragilidad inicial.

Karl Bielefeldt
fuente
Creo que su comparación de las impresiones creadas por las dos exposiciones muy diferentes a vi es una lección muy valiosa. Lo he pensado muchas veces desde que lo leí ... se me viene a la mente. Gracias.
Comodín el
6

Fueron los movimientos internos los que hicieron que mis ojos se convirtieran en corazones flotantes para Vim. Además de las .repeticiones y el prefijo de cosas con recuentos, mostrar movimientos internos suele ser una de las primeras cosas que muestro / comparto cuando alguien me pregunta sobre vim. ci(o gUi>o diw.

g;y g,saltar a los lugares que ha editado suele ser bueno para ampliar un ojo o dos.

Será
fuente
2

Aunque vitiene un pedigrí respetado en la historia de la informática, recomendaría centrarse en vim. Es un editor completo con capacidades increíbles, que coincide con cualquiera de sus competidores. Su único inconveniente es la curva de aprendizaje; toma tiempo obtener la "mentalidad de Vim" y la memoria muscular. Creo que vale la pena el esfuerzo. Hay mucho poder a tu disposición cuando te vuelves competente vim.

  1. Demuestre el poder de vimscript para automatizar tareas aburridas de procesamiento de texto.
  2. Instale complementos geniales como vim-airline, porque a todos les gusta una buena interfaz de usuario.
  3. Hay montones de tutoriales gratuitos, como este .
  4. vi/ vimestá instalado en todos los sistemas basados ​​en Unix; por lo que cualquier sysdamin profesional debe tener un conocimiento práctico de ello.
roblogic
fuente
El quid de mi pregunta es "Cómo" con respecto al punto 1 de su respuesta. ¿Has tenido alguna experiencia mostrando esto a otros o mostrándote a ti mismo?
Comodín del
No tanto como para demostrarlo, pero uso pequeños scripts vim de forma rutinaria para limpiar el texto, pero como tú no tengo mucho interés de mis colegas (prefieren volcar la salida en documentos masivos que nadie lee)
roblogic
0

Me encanta VIM, pero la curva de aprendizaje es empinada.

Es poco probable que cualquier profesional que aún no haya adoptado VIM sea persuadido por argumentos . Solo por necesidad.

Al escuchar a las personas que dicen que usan VIM de manera regular, el caso de uso más grande proviene de administradores que administran múltiples * máquinas NIX de forma remota con CLI a través de SSH.

VIM está literalmente instalado en casi todas las máquinas * NIX del planeta.

VIM tiene más de 25 años y no ha cambiado desde que comencé a usarlo en 1998.

xtian
fuente
0

Simplemente pídale al alumno que intercambie dos palabras con su procesador de Word ™ ...

... luego muestra cómo el maestro hace esto vim. (Aquí está el mapeo para hacerlo; más aquí .)

Por último, dejar que el alumno contemplar si él / ella realmente ha estado trabajando con una palabra procesador hasta el momento.

Serge Stroobandt
fuente
1
Inteligente, pero el control de retroceso eliminará una palabra en casi cualquier editor de Windows, y el retroceso de espacio en prácticamente cualquier editor de Mac.
Comodín el
@Wildcard Dudaba entre eliminar y mi primera idea seleccionada. Tienes toda la razón, por supuesto. Por lo tanto, lo cambié de nuevo para seleccionar.
Serge Stroobandt
Aún así: ctrl-shift flechas izquierda / derecha (o alt-shift flechas para Mac). :)
Comodín
@Wildcard Creo que lo tengo ahora. Tuve que reconstruir mi razonamiento pasado. ;)
Serge Stroobandt
@Wildcard Gracias por insistir. Me costó recordar lo que me hizo exactamente hacer el cambio drástico gvim. Ahora lo recuerdo bien. Intercambiaba / movía palabras en una oración al escribir un texto en inglés como un hablante no nativo. Escribí mis propias asignaciones de vimscript para hacer exactamente eso.
Serge Stroobandt
0

Vim también trata de revaluar archivos de texto sin formato

En el contexto de la creación de documentos, el valor de vimno está solo en sus fabulosas habilidades de edición de palabras. Vim también es una ruta para restablecer el valor del archivo de texto plano omnipresente y su garantía de compatibilidad retroactiva intemporal.

Vim también se trata de centrarse exclusivamente en el contenido; no formatear

Si uno no está en la edición de páginas web, la separación del contenido del formato podría ser un concepto paradigmático para cualquier empleado de oficina regular. Por esta razón, me gusta presumir gvimcomo editor de Markdown en combinación con Pandoc y quizás a makefile.

Esto también es una buena demostración de la filosofía Unix o GNU / Linux de combinar y canalizar programas que son extremadamente buenos en una sola cosa.

Como beneficio adicional, verá que las vimcombinaciones de teclas básicas se utilizan en muchos otros programas GNU / Linux.

Serge Stroobandt
fuente
0

Ergonomía

Con la configuración correcta, puedo trabajar durante horas sin sufrir dolores de hombro o espalda.

La configuración correcta es diferente del curso para todo el mundo, pero el uso de Vim en un terminal, el mapeo Escde Capslocke inhabilitar el ratón y las teclas de cursor es un comienzo bueno.

laktak
fuente