Vim para principiantes


Como cualquier desarrollador, est√°s en constante desarrollo. Usted est√° aprendiendo nuevas tecnolog√≠as leyendo libros, viendo lecciones en l√≠nea, asistiendo a algunos cursos, y as√≠ sucesivamente. Sabes que si dejas de aprender, te vuelves poco competitivo. ¬ŅPero alguna vez has pensado en tu desempe√Īo? ¬ŅC√≥mo se mejora eso? Si no sabe c√≥mo responder, bienvenido debajo del corte.


Nivel 0 - Conquista el miedo


Mecanografía táctil


Esta publicación no trata sobre la escritura táctil . Sin embargo, esta es la primera respuesta a la pregunta anterior. Para comprender el resto de este artículo, debe administrar la escritura táctil.


Introducción de Vim



En esta publicaci√≥n, le dir√© c√≥mo mejorar su velocidad de codificaci√≥n, c√≥mo navegar en el c√≥digo m√°s r√°pido y c√≥mo deshacerse del mouse de su computadora. Hablaremos de VIM (el mejor editor de texto conocido por la humanidad). En manos poco h√°biles, es solo un editor de texto inc√≥modo, y nadie sabe c√≥mo salir de √©l. Pero en realidad, es un editor de texto altamente configurable (o complemento para casi cualquier IDE) que est√° dise√Īado para permitirle administrar su c√≥digo de la manera m√°s eficiente. VIM no es solo un editor de texto. No parece una locura, pero imagina que no codificas, hablas con una computadora. Por lo tanto, su proceso de codificaci√≥n se puede construir en el siguiente mon√≥logo:


  • aqu√≠ escribir√©: string text = file.ReadAll();
  • crea una l√≠nea vac√≠a encima de esta
  • mover todas las l√≠neas con TODO comentarios al final de este archivo
  • navegue a la funci√≥n GetDirectoryFiles y copie todo su contenido
  • navegue a esa declaraci√≥n "if" y reemplace su contenido con el texto del b√ļfer
  • centre esta l√≠nea en el medio de la pantalla

Pero si quieres bailar, tienes que pagar el gaitero. Para "hablar" con VIM tienes que aprender el idioma que tiene sus propios sustantivos, verbos, adjetivos, etc. Es por eso que VIM no tiene atajos, tiene oraciones (por ejemplo, cambiar la etiqueta interna) . Cuando aprenda los conceptos básicos de este idioma, podrá combinar sus propias oraciones dependiendo de lo que vaya a hacer. Después, comprenderá que ya no necesita su mouse.


No es fácil comenzar a aprender este idioma porque todos sus componentes deberían convertirse en su hábito. Y es un desafío doloroso para usted que puede tomar al menos 2 semanas, así que piense dos veces antes de comenzar. Pero si lo supera, abrirá un nuevo mundo de gestión de código.


El beneficio principal de la entrada r√°pida de datos no es el tiempo ahorrado en la entrada de datos por segundo, sino la mayor probabilidad de que sus manos puedan seguir el ritmo de su cerebro.

Nivel 1 - Sobrevivir


La característica más distintiva de VIM es que tiene modos. Podemos definir los cuatro principales:


  • Modo normal : aqu√≠ puede escribir comandos de texto y navegar. Para ingresar a este modo, presione ESC
  • Modo de inserci√≥n : en este modo puede escribir texto como en otros editores. Para ingresar a este modo, presione i
  • Modo visual : aqu√≠ puede seleccionar texto. Para ingresar a este modo, presione v
  • Modo de comando : comandos del editor (como guardar, abrir, etc.) . Para ingresar a este modo, presione :

Además, debe aprender la navegación básica que funciona en modo normal. Olvídate de las flechas porque son lentas para trabajar. Cuando está escribiendo, sus dedos generalmente se colocan en el medio de su teclado. Mano izquierda en asdf y mano derecha en jkl; . Y generalmente, está navegando en su código hacia arriba / abajo y rara vez hacia la izquierda / derecha (más adelante hablaremos sobre la navegación dentro de la línea). Entonces la navegación en VIM es la siguiente:


  • abajo - j (parece una flecha hacia abajo)
  • arriba - k
  • izquierda - h
  • derecha - l

Para acostumbrarte al movimiento básico puedes jugar al juego VIM Adventures . En realidad, esto es todo lo que debes saber para comenzar. Por lo tanto, instale el complemento vim en su IDE favorito y practique. Ten en cuenta que va a ser difícil.



Nivel 2 - Confianza


Ok, decidiste aprender VIM y esto es increíble. Asegurémonos de que lo estás haciendo bien. Sus dedos se acostumbraron a la navegación hjkl y también sabe cómo cambiar los modos de uno a otro. Si es cierto, entonces estás listo.


Obtener el modo de inserción


Usted sabe que puede ingresar a este modo presionando i en un teclado. Pensemos que significa insertar como insertar texto antes del cursor. También puede presionar a que significa agregar como texto de adición después del cursor. Es fácil intensificar estos comandos cambiando el caso, por lo que el resultado sería el siguiente: inserto texto antes del primer no en blanco en la línea y A agrega texto al final de la línea actual.


Para que su trabajo futuro sea más agradable, debe conocer el comando o que agrega una nueva línea en blanco después de la actual y O que hace lo mismo pero antes de la línea actual.


Estos son los comandos de cambio de modo de inserción más utilizados en VIM. Si se ajusta a la navegación hjkl , le llevará un par de días acostumbrarse a estos comandos. Cuanto más sudas en el entrenamiento, menos sangras en la guerra.


Modo normal


Antes de comenzar a aprender el lenguaje VIM, tambi√©n debemos mejorar nuestras habilidades de navegaci√≥n. En esta pregunta, el comando f (significa buscar ) nos ayudar√°. Este comando se usa para navegar dentro de la l√≠nea actual. Escribe f y una letra a la que desea mover el cursor. fP mueve el cursor desde la posici√≥n actual a la primera aparici√≥n de la letra P. Puede encender este comando en F que hace lo mismo pero cambia la direcci√≥n de b√ļsqueda.


Lenguaje vim


Ahora es el momento de convertirse en un loco geek. Debería "hablar" con VIM en el modo normal. En primer lugar, consideremos algunas construcciones del lenguaje VIM:


Sustantivos:
w - palabra
s - oración
p - p√°rrafo
b - (bloque / paréntesis)
t - etiqueta
{ , } , ( , ) , [ , ] - llaves
" , ' - comillas


Verbos


  • v - visualizar
  • c - cambiar (eliminar texto y cambiar VIM al modo de inserci√≥n )
  • d - eliminar y copiar (elimina texto y no cambia el modo VIM)
  • y - tirar (significa copia)

Adverbios:


  • i - dentro
  • a - alrededor
  • t - hasta
  • f - hasta (inclusive)

Tenga en cuenta que estos comandos pueden funcionar por sí solos, no como espera. Además, cuando crea una oración VIM, debería ser suficiente y todas las construcciones deberían estar en su lugar, de lo contrario, obtendrá otro resultado. Ahora creemos algunas oraciones de VIM fáciles como ejemplo:


  • ciw - cambiar palabra interna - elimina la palabra completa debajo del cursor y cambia al modo de inserci√≥n, a diferencia de cw que elimina una palabra del cursor al final de esta palabra.
  • cis - cambio dentro de la oraci√≥n.
  • ci" - cambiar dentro de" llave - elimina todo el texto entre "llaves.
  • da} - eliminar alrededor} llave: elimina todo el texto dentro de las llaves incluidas ellas.
  • vip - visual dentro del p√°rrafo - selecciona todos los p√°rrafos.
  • ctp - cambiar hasta p - eliminar todo de aqu√≠ a la letra p .

Comando de oración Vim


Para expandir su lenguaje VIM ahora mismo, le sugiero que aprenda la nueva construcci√≥n VIM - modificador de n√ļmero. Consideremos el siguiente c√≥digo:


 function foo() { function bar() { // some code here } } 

Y desea eliminar todo el c√≥digo dentro de {} de la funci√≥n foo . Usar el modificador de n√ļmero es f√°cil de hacer. Simplemente escriba 2ci{ - cambie dentro de llaves entre 2 veces.


Comando de oración Vim


El modificador de n√ļmero funciona no solo en oraciones, sino que funciona en casi todas partes:


  • 5j : mueve el cursor hacia abajo 5 veces.
  • 2fK : mueve el cursor a la segunda aparici√≥n de basura k en la l√≠nea.
  • 2iHello <ESC> - inserta Hello 2 veces.

Ser persistente


A medida que aprenda VIM, encontrar√° nuevas construcciones de lenguaje y expandir√° su lenguaje VIM. D√≠a a d√≠a ser√≠a m√°s f√°cil "hablar" con VIM. Todos los comandos y construcciones de lenguaje est√°n estrechamente acoplados y creados para maximizar su rendimiento, y lo demuestran m√°s de 20 a√Īos de existencia de VIM.


Nivel 3 - Dominio


Est√°s en camino de convertirte en un maestro VIM. Como puede encontrar, esto no es tan f√°cil de aprender VIM. Cuando sientas el poder en tus manos usando VIM, querr√°s algo m√°s y de esto se trata esta parte. Todos los temas se descubren superficialmente para permitirle decidir lo que desea.


VIM no es un IDE


Sí, VIM no es un IDE a pesar de que puede configurarlo para realizar casi todas las funciones IDE . Estoy seguro de que no dejará su Visual Studio o WebStorm favorito y es por eso que preparé la lista de complementos para su IDE y no solo.


  • VSVim para VisualStudio
  • VS VIM para VSCode
  • IdeaVim para WebStorm, IntelliJ IDEA (y otros productos de Jetbrains)
  • El texto sublime tiene el modo Vintage fuera de la caja
  • Modo vim para √°tomo
  • XVim para Xcode
  • Hardcore! ¬°No repitas esto en casa! Google Chrome tambi√©n tiene extensiones para la navegaci√≥n tipo VIM. (encu√©ntralo en Chrome Store)

A√ļn as√≠, debe tener en cuenta que se puede lograr el m√°ximo rendimiento utilizando solo VIM. B√°sicamente, es adecuado para peque√Īos proyectos js / html / css, editar archivos de configuraci√≥n o simplemente como reemplazo de su bloc de notas ++ :)


Complementos Vim


VIM tiene miles de complementos para cualquier capricho. Aquí puede encontrar casi todo lo que desea desde el explorador de archivos y la integración de git a los sistemas de compilación.


Uno de mis complementos favoritos es EasyMotion . Fue creado para acelerar su navegación en VIM. EasyMotion es muy sofisticado y está profundamente integrado en la filosofía VIM. Por ejemplo, si solo desea navegar a una línea específica detrás de la actual, puede hacerlo presionando la tecla j varias veces. En comparación, con EasyMotion puede presionar la tecla líder (en mi caso TAB ) j para resaltar todas las líneas detrás con letras diferentes. Todo lo que queda por hacer es presionar la letra que representa la línea que necesita.


EasyMotion


En mi caso, presion√© la tecla TAB y ju para navegar a la l√≠nea apropiada. Fue el ejemplo m√°s f√°cil y, como de costumbre, en el mundo de VIM, puede crear casi cualquier comando seg√ļn sus necesidades.


Mapeos


Esta caracter√≠stica decid√≠ considerar por separado. Puede pensar en el mapeo como combinaciones de teclas para todos los modos. Es decir, puede vincular alg√ļn patr√≥n para realizar algunas acciones en diferentes modos.


Así que veamos el ejemplo fácil y real. Casi todas las personas que trabajan en VIM no cambian el modo de inserción a normal presionando ESC . Lo estamos haciendo presionando jj o jk porque tenemos la siguiente asignación :imap jj < ESC >. imap significa mapeo en modo inserción y significa que funciona solo en modo inserción.


Puede asignar todo lo que desea hacer y esto le ahorrará tiempo en el futuro. Lea más sobre mapeo aquí .


Características de Vim


Hay muchas cosas que aprender en VIM además de las características mencionadas anteriormente. Definitivamente debe prestar atención a la siguiente lista:


  • comandos globales
  • buscar y reemplazar
  • macros y registros
  • tampones
  • pesta√Īas
  • sangr√≠as y pliegues
  • comandos autom√°ticos

Pueden existir en otras herramientas de desarrollo, pero esto es VIM. Día a día te preguntarás cuán brillantes se construyen todas estas cosas. Compruébalo para asegurarte.


Configuracion


Hay muchas configuraciones de VIM que deben almacenarse en alg√ļn lugar para usar la misma configuraci√≥n para todos los editores con el complemento VIM. Y esta es la responsabilidad del archivo .vimrc. De manera predeterminada, en Windows 10 este archivo se encuentra en C:\Users\%username% . Aqu√≠ puede configurar todas las asignaciones, los comandos autom√°ticos, los complementos, la combinaci√≥n de colores y todas las dem√°s configuraciones. He encontrado un art√≠culo bastante bueno sobre c√≥mo configurar su propio archivo .vimrc para que pueda practicarlo usted mismo.


Nota: No ponga líneas en su .vimrc que no entienda

Impresionantes cursos de VIM:



Maestro yoda


Que el VIM te acompa√Īe.

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


All Articles