end beginning vim navigation

beginning - VIM Super Fast Navigation



vim go to end of line (10)

¡vim tiene soporte para mouse! dale una oportunidad (en tu .vimrc):

set mouse=a

nota al margen : como usuario de la pantalla, he descubierto que también necesito

set ttymouse=xterm2

para que esto funcione

Lo único que extraño sobre el uso de otros editores es encontrar mi lugar con el mouse. Puedo mirar con mis ojos a un área específica en el archivo y con un movimiento del mouse y un clic Estoy allí. Con VIM tengo que jjjjjkkkkkkjjjjhhhh ... casi allí hhhhh oh mierda, me perdí por 3 caracteres, lll.

Estoy aprendiendo a hacer marcas y encontré un complemento de marcadores que es genial, puedo crear marcadores y destruirlos con <f3> y navegar hacia ellos. Desafortunadamente, las marcas se olvidan cuando el archivo se cierra.

¿Cómo navegan todos los archivos? Sé que también podría hacer 5j7k4j5h y demás, pero debe haber un complemento que pueda leer mis ojos y poner el cursor donde realmente lo necesito.

También aprendí a usar /% para buscar un término específico. Ayuda, pero todos los caracteres coincidentes se resaltan en el documento.


Además de { , } , ( , ) , <number>cb , <number>cB , <number>cW y % , uso tales técnicas de navegación:

  • ciw , diw ( ciW , diW ). etc. para editar / eliminar rápidamente la palabra debajo del cursor (incluidos los caracteres que no sean espacios)
  • ci( , ci" ( ca( , ca" ), etc. para editar rápidamente entre paréntesis, comillas (incluyendo paréntesis, comillas). Lo mismo aplica para d .
  • Marca con letras MAYÚSCULAS para establecerlas globalmente (a través de archivos) y de forma persistente (cuando el búfer está cerrado). Por ejemplo, mA creará la marca global A que estará disponible con ''A comando (o `A para respetar la columna).
  • gf para ir rápidamente al archivo debajo del cursor
  • f , t ( F , T ) para moverse al char, antes de la derecha del char (izquierda) (usar ; para repetir). Estos son particularmente útiles para los comandos d y c (use . Para repetir).
  • ^] para pasar a la etiqueta y ^T para retroceder.

Y muchas otras formas de moverse :)

Mira esto para más información: http://www.thegeekstuff.com/2009/03/8-essential-vim-editor-navigation-fundamentals/

PD. Para los usuarios de rieles hay un plugin rails-vim muy útil, es posible que también desee verificarlo.


Además del comando de movimiento de vim, encuentro que un plugin de vim llamado EasyMotion es bastante útil para navegar, si estás familiarizado con vimperator o pentadactyl, EasyMotion solo trae el modo de sugerencia a vim. here hay una demostración animada y here está el video tutorial. Espero que sea útil para ti.


Con la opción número relativenumber ( : número relativo de ayuda - incluido con Vim 7.3 ) puede llegar a la línea debajo de sus ojos con el movimiento a [count]k o [count]j , que le permite moverse en la línea actual con movimientos como ftweb como se explicó por @romainl.


Hay un montón de maneras de moverse en vim, esta es una de sus áreas realmente fuertes. Uso { y } mucho, que se mueve hacia arriba y hacia abajo a la siguiente línea en blanco en esa dirección. % es útil para mover hacia adelante y hacia atrás a un soporte correspondiente (de cualquier tipo). W y B avanzan y retroceden mediante una "palabra".

Puede valer la pena revisar la sección Desplazamiento del manual de Vim.


He escrito un complemento con una navegación súper rápida en mente, se llama "sin movimiento":

https://github.com/anschnapp/move-less

Le permite buscar el archivo del agujero cómodamente al desplazarse con ( h j k l -keys). No cambia la posición del cursor mientras se desplaza por el sitio del agujero (según el truco plegable). Si abortas tu búsqueda, justo donde comenzaste.

Para una navegación súper rápida, la intensión es usar mi complemento para obtener la posición de destino en la pantalla y luego saltar a la posición correcta a través de easymotion (que ya se recomendó en otra respuesta):

https://github.com/easymotion/vim-easymotion

Si combinas ambos, puedes adelantar el historial de salto y puedes saltar entre tu origen y destino solo con <co> y <ci> .


Pruebe $ vimtutor , le enseñará todo lo que necesita saber para comenzar.

hjkl es la punta de la parte superior del iceberg y muy raramente utilizado, al menos en mi caso.

wWEe y BbgegE permiten moverse palabra por palabra:

  • irá yendo hacia adelante, W y E tomarán en cuenta el espacio en blanco y la puntuación

    " here the * marks the default location of the cursor " and each letter shows where you jump when you hit the key. Latin: Lorem ipsum dolor sit amet. * e e e * E E E * w w w w w w w * W W W W W W

  • b y ge retroceden, B y gE tienen en cuenta el espacio en blanco y la puntuación

    Latin: Lorem ipsum dolor sit amet. b b b b * B B B * ge ge ge* ge gE gE gE*

fFtT se utilizan para alcanzar un carácter particular en la línea actual y ;, se utilizan para repetir ese movimiento, en la misma dirección para ; y en la dirección opuesta para,:

  • fm salta ON el siguiente m adelante, F retrocede

    Latin: Lorem ipsum dolor sit amet. * fm ; ; ; Fm *

  • tm salta ANTES del siguiente m adelante, T retrocede

    Latin: Lorem ipsum dolor sit amet. * tm ; ; ; Tm *

/? se usan para saltar a la primera aparición de un patrón desde la posición actual del cursor:

  • /pattern sigue adelante

    Latin: Lorem ipsum dolor sit amet. * /ips

  • ?pattern va hacia atrás

    Latin: Lorem ipsum dolor sit amet. ?Lat *

0$ se usan para saltar al primer y al último carácter de la línea.

(whitespace)Latin: Lorem ipsum dolor sit amet.(whitespace) 0 * $

^g_ se usan para saltar al primer y último carácter imprimible de la línea.

(whitespace)Latin: Lorem ipsum dolor sit amet.(whitespace) ^ * g_

Solo y combinado ()[]{} se usan para mover frase por frase o párrafo por párrafo o bloque de código por bloque de código.

<Cb> y <Cf> se utilizan para desplazarse por la pantalla hacia atrás y hacia adelante.

<Cu> y <Cd> se utilizan para desplazarse por media pantalla hacia atrás y hacia adelante.

H , M y L mueven el cursor a la parte superior, central, inferior de la ventana gráfica, respectivamente.

zt , zz y zb mueven la línea debajo del cursor a la parte superior, media, inferior de la ventana gráfica, respectivamente.

Y así.

:help motion.txt te dejará :help motion.txt


Puede :set nohlsearch para desactivar el resaltado de sus caracteres de búsqueda.

También navego usando ctags.


personalmente prefiero usar:

"/<chars><enter>" to quickly move to somewhere ( extremely fast! trust me! ) ":<number>" to go to some line, "ctrl + f/b" to forward/back "g;" to move to the last editing place. "w/b" to move by word "jklh" to move your cursor to the exact position