Cómo me robó Vim mi corazón

¡Creo que el nombre implica que hoy hablaremos de Vim! Que es esto ¿Por qué se necesita esto? ¿Cómo usarlo?


Muchos de los que leyeron mi artículo anterior podrían exclamar:



De hecho, tal práctica puede considerarse innecesaria. Para mi profundo pesar, incluso ahora habrá personas que razonen de manera similar. Para aquellos que no están al tanto, explicaré: Vim es un editor de texto antiguo que funciona en el terminal y tiene un enfoque no estándar para editar y escribir.



Una pregunta justa surge: "¿Por qué usar el antiguo programa en 2018, e incluso sin una interfaz gráfica?" La respuesta es simple: es conveniente. Estoy de acuerdo, por lo que puede decir absolutamente sobre cualquier editor, pero aún así este caso es muy inusual.

Para empezar, no, Vim no es viejo, solo tiene 27 años. Él es el heredero del clásico editor de Vi. Se adapta mejor a los sistemas modernos y tiene una gama más amplia de capacidades. En otras palabras, su nombre (Vi Mejorado) está completamente justificado. También quiero señalar que hay una implementación aún más nueva de las mismas ideas: neovim.

Cual es la diferencia



Si miras diferentes videos de Youtube sobre este tema, en su mayoría hablan sobre el componente metafísico del problema. Es decir, sobre la diferencia en ideologías, formas de desarrollar proyectos y similares. No hay diferencias fundamentales para el usuario final. Sin embargo, se pueden aclarar dos puntos: algunos complementos son más fáciles de instalar en neovim, además de separar la interfaz de usuario del núcleo del programa. Explicaré con más detalle sobre el segundo.

Creo que entre ustedes habrá personas (y gatos) que siempre responderán a la oferta de cambiar a otro editor como este:



Bueno, ¡Neovim se apresura al rescate! Gracias a él, ahora en muchos IDEs modernos y "cuadernos de programador" hay un emulador de la funcionalidad de Vim. Por lo tanto, puede continuar usando su Sublime Text o CLion favorito con todos sus complementos, al mismo tiempo que aumenta notablemente su productividad en términos de escritura de código y comienza a obtener más placer (más sobre esto más adelante). También es una buena manera de aumentar las preguntas frecuentes, porque "los hackers reales usan Vim o Emacs".

"Bueno, decidí tratar de estudiar algún editor antiguo, pero ¿por qué Vim, y no al menos el mismo Emacs?" Bueno, este es un tema controvertido. Emacs es una solución más poderosa que puede hacer cualquier cosa (incluso puedes jugar una serpiente en ella). Sin embargo, su fuerza es también su debilidad. Es demasiado extenso y complejo, lo que se traduce en una mayor complejidad de desarrollo y exigencia al hierro. El último argumento puede sonar tonto ahora, porque también es un editor de consola, pero en una serie de tareas (como la conexión remota a través de SSH), este punto puede resultar crítico.


(Usuarios de Emacs después de estas líneas)

Bueno, descubrimos qué es Vim, pero queda por entender por qué y cómo usarlo.

"¿Por qué a todos les gusta Vim tanto que lo agregan siempre que sea posible e incluso donde sea imposible?" (Por cierto, Emacs también lo tiene. Me parece cada vez más fácil enumerar cosas que no están allí, pero esto está fuera de tema). La respuesta a esta pregunta no es difícil: su filosofía.

No puede simplemente comenzar y escribir texto en VIM. Hay un modo separado para esto: "Modo de inserción". Cuando inicia el programa, se encuentra en modo normal, en el que tiene la oportunidad de escribir comandos para editar texto y cambiar entre los diferentes modos de este editor. "¡Pero es incómodo! ¡Solo quiero escribir el texto! ” Técnicamente, una máquina de escribir también es adecuada para esta tarea, pero aún así responderé sin sarcasmo. Si la mayoría de los editores se enfocan en escribir código, Vim lo cambia a edición de texto y lo hace a su manera.


(En realidad, esta imagen tiene un subtexto profundo. Si hay un minuto, lea sobre la serie Persona de juegos de rol japoneses).

Lo más importante a entender cuando se aprenden los comandos de Vim es que en su mayoría no están aislados. Esto, considere todo el lenguaje, donde se dividen en verbos, sustantivos y adjetivos (modificadores). En realidad, a pesar del hecho de que cada equipo es un solo personaje, cada uno de ellos tiene un análogo a la palabra en inglés, ¡y su secuencia se puede traducir en una oración completa!



Veamos un par de ejemplos, pero primero sostenga otra imagen (esta vez con algo útil):



1) d2w
==> Eliminar dos palabras.



2) AMew<Esc>
==> Añadir al final de la línea "Mew" y volver al modo normal.



3) f(ci(Pakahontas<Esc>
==> Encuentra un par de paréntesis y cambia su contenido interno a "Pakahontas" y vuelve al modo normal.



¿Ves? ¡Absolutamente nada complicado! Por supuesto, este enfoque requiere acostumbrarse y practicar constantemente, ya que no solo puede aprender todas las combinaciones, necesita sentirlas. Escribo código en Vim no porque sea más rápido de escribir (ya escribo lentamente, como habrás notado, y no sé cómo hacerlo a ciegas), sino porque es más natural. En lugar de un montón de ctrl, shift o alt (hay comandos con ellos, pero hay pocos), un lenguaje de edición muy comprensible y, lo más importante, humano.


(Inesperadamente, ¿verdad?)

Pero antes de terminar, quiero insertar algunos comentarios:

I. A pesar de que en Vim puede usar las flechas y el mouse (el segundo está configurado en el archivo "~ / .vimrc"), esto no se recomienda estrictamente. Tiene un mar de comandos más interesantes para mover el cursor sobre el texto (y la pantalla), solo que ya no son tan intuitivos como los comandos de edición y tienes que abarrotarlos.


(¡Es hora de hackear!)

II En Vim, como en muchos otros editores, hay un modo de comando que se activa cuando se presiona la tecla ':'. El símbolo '!' tiene un doble significado:

a) Si se encuentra inmediatamente después de ':', entonces puede seguirlo un comando completo para el terminal. Aunque algunos de ellos están duplicados como comandos del editor en sí, puede ser útil, por ejemplo, llamar al compilador.

b) Si está detrás del comando Vim, lo ejecutará sin guardar los cambios en el archivo. Por cierto, esto está conectado con un error (o, si lo desea, una función): si hizo algo con el texto, incluso si lo devuelve a su estado original, el editor no se cerrará si no lo guarda o especifica '!'.


(¿Ya has sentido cómo Vim se preocupa por tus datos?)

III. Se pueden cambiar varias configuraciones de editor y plugin en el "~ / .vimrc" anterior. Hay configuraciones para cada gusto y color, solo que no están en el archivo en sí. Por defecto, está vacío. Para encontrar los parámetros que necesita, use el comando ": ayuda". Después, puede agregar el nombre de un componente o complemento específico para saltar de inmediato a la información que le interesa. Pero, por supuesto, Internet se sentirá más cómodo a este respecto.



IV. Hay varios comandos en Vim (por ejemplo, 'q') que están diseñados para ser definidos (en "~ / .vimrc") por el usuario. Sin embargo, si intenta establecer un valor para ellos directamente, se activarán con un retraso, ya que esperan un segundo comando después de ellos (deben determinarse). Si necesita un comando de un botón, le recomiendo usar 's', porque su funcionalidad es prácticamente la misma que 'c'. El sustituto puede ser reemplazado, por así decirlo.



V. Equipo '.' posee un poder increíble en este editor. Ella sabe cómo repetir el comando anterior (o una oración completa de ellos). En principio, si no desea grabar una macro, entonces es una excelente herramienta para llenar el código con "empanadas":



VI. Vim me recuerda a algunas viejas computadoras 48K ZX Spectrum. También tenían comandos de un botón, pero eran para el lenguaje de programación básico. Por lo tanto, los desarrolladores trataron de reducir la cantidad de RAM necesaria para el programa.



Como material de capacitación, recomiendo el programa vimtutor. Puramente técnico, simplemente abre un archivo con un breve tutorial en Vim, pero este enfoque le permite practicar en paralelo con el estudio de la parte teórica. ¡Y luego practica, practica y, nuevamente, practica!

Bueno, en realidad, todo lo que quería decir sobre Vim. Honestamente, estoy completamente encantado con este editor. Su filosofía es muy contagiosa y similar al sistema Unix en su conjunto (todo es simple, claro y lógico, pero requiere acostumbrarse y recordar). Por lo tanto, si está buscando un buen editor de texto o desea obtener una nueva experiencia de edición de texto, entonces no encontrará un lugar mejor.

¡Les deseo felicidad, salud y que KDE no se caiga!

Fuentes
1) Sobre el tema:
a) En realidad, vimtutor
b) La imagen con el teclado fue tomada del sitio web de viemu
c) También leí un wikilibro sobre este tema.
2) Fuera de tema:
a) Sobre la serie Persona en Youtube hay muchos videos con su análisis detallado. Probablemente los más valiosos son los videos de Filinov 's Place kakala , pero el autor hasta ahora se ha detenido en la segunda segunda parte (esto no es un error tipográfico).
b) Acerca de Spectrum grabó recientemente un buen video Dmitry Moiseev
c) El autor de la imagen de mi foto de perfil - Fluff-Kevlar

Source: https://habr.com/ru/post/es426255/


All Articles