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.
Respuestas:
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.fuente
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.
fuente
Demuestre el poder del punto ('.') En modo comando. Repetir fácilmente una edición complicada con solo presionar una tecla generalmente parece mágico.
fuente
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.
fuente
.vimrc
archivo 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/vimrcvim
entrega los bloques de construcción básicos desde los que uno tiene que configurar / programar el editor de texto con el que siempre soñó.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
fuente
vi
/m
en 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), yvi
siempre está ahí .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:
fuente
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.
fuente
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:
Creo que solo mostrarle a las personas su potencial después de que lo aprendas los inspirará a superar la fragilidad inicial.
fuente
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(
ogUi>
odiw
.g;
yg,
saltar a los lugares que ha editado suele ser bueno para ampliar un ojo o dos.fuente
Aunque
vi
tiene un pedigrí respetado en la historia de la informática, recomendaría centrarse envim
. 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 competentevim
.vim-airline
, porque a todos les gusta una buena interfaz de usuario.vi
/vim
está instalado en todos los sistemas basados en Unix; por lo que cualquier sysdamin profesional debe tener un conocimiento práctico de ello.fuente
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.
fuente
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.
fuente
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.Vim también trata de revaluar archivos de texto sin formato
En el contexto de la creación de documentos, el valor de
vim
no 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
gvim
como editor de Markdown en combinación con Pandoc y quizás amakefile
.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
vim
combinaciones de teclas básicas se utilizan en muchos otros programas GNU / Linux.fuente
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.
fuente