2011-10-06 17 views
9

no he visto este le preguntó sobre stackoverflow, y este es mi mayor punto de dolor en vim:mejor forma de moverse en vim (modo normal)

¿Cómo se puede navegar todo dentro de un archivo? Me encontré usando el hjkl demasiado, o demasiado repetitivo, y quiero mejorar en esto. Esto es frustrante cuando estás en un monitor grande.

He instalado EasyMotion - y hasta ahora ha sido bueno para mí - Yo sólo quiero saber si hay algo mejor ...

Gracias!

Respuesta

19

Me gusta el cheatsheet of Ted Naleid. Es como una retícula para que pueda encontrar fácilmente los movimientos horizontales y verticales. Colócalo en una pared al lado de tu monitor y pronto recogerás nuevos movimientos sobre la marcha.

Los movimientos que más me ha gustado recientemente son:

  • () {} y que le permiten saltar la función inteligente de código
  • /y fuente? + n/N solo busca, normalmente sabe dónde quiere ir
  • fx y tx - para saltar al siguiente caracter x por supuesto puede hacer un 2fx para saltar a la segunda ocurrencia de x, como usted se puede hacer con todos los movimientos
  • % para moverse entre paréntesis inicial y final
+2

+1 esta hoja de trucos es inteligente, fácil de entender y buena pinta. – romainl

+0

Durante mucho tiempo lo guardé en mi escritorio. – skeept

2

documentación simple:
http://vim.wikia.com/wiki/Moving_around

movimiento regular:
hjkl/teclas de flecha/página arriba/abajo
% se cambiará entre los apoyos de apertura/terminan
gg/G traslado a la parte superior/inferior

Plegable:
Para colapsar bloques grandes de código, puede usar plegado.
http://vimdoc.sourceforge.net/htmldoc/fold.html

Buscar:
Para saltar a algo en particular de tipo /searchstring (utilizar con set inc para saltar a coincidencias mientras escribe)
* para buscar hacia adelante por la misma palabra que el cursor se encuentra en
# mismo, pero la búsqueda hacia atrás

También puede usar marcas.
http://vim.wikia.com/wiki/Using_marks

También uso ctags y saltando para encontrar cosas en varios archivos.
http://vimdoc.sourceforge.net/htmldoc/tagsrch.html

Nunca he necesitado nada más.

9

Yo uso b y w para mover hacia la izquierda y la derecha, respectivamente, en una sola línea. Para arriba y para abajo, uso Ctrl+u y Ctrl+d respectivamente. IMO Ctrl+u y Ctrl+d son mejores que Ctrl+b y Ctrl+f porque se desplazan media ventana a la vez para que no pierda contexto.

No he usado realmente ningún complemento para moverme en vim hasta el momento.

Olvidé mencionar otras dos teclas importantes, $ y ^ para mover al final de la línea y al inicio de la línea, respectivamente.

3

Depende de cómo desea moverse, pero en general,

  • A lo pone en modo de inserción al final de una línea
  • I al principio
  • o inserta una línea por debajo
  • O anterior

y más poder completamente, buscando con /<thing you want to jump to> es muy útil. En un archivo de C, donde se formatean las funciones

int 
funcname() 

/^funcname que saltará al inicio de la función. Hay muchos más, pero este es un buen comienzo para alguien nuevo en vim.

7

Varios comandos de movimiento:

b B e E f F ge gE gj gk go G h H j k l L M n N t T w W { }/?^$ # * ` ' | % 

a aprender, además de todos los comandos que comienzan con [ como [{ que es muy útil cuando se edita código de estilo C ...

Ver :help index.txt para referencia.

1

realmente no veo mucho más que añadir en cuanto a la iluminación general, pero yo uso (clasificados según la frecuencia con que los utilizan):

w and b 

para avanzar una palabra hacia la derecha y hacia la izquierda.

/ and ? 

para buscar una palabra o patrón en la parte inferior o superior.

G and gg 

para saltar a la parte inferior y superior del búfer.

<C-f> and <C-b> 

para ir a la pantalla siguiente y anterior.

* and # 

para saltar a la siguiente y anterior aparición de la palabra debajo del cursor.

f and F 

saltar antes de un personaje hacia la derecha o hacia la izquierda.

t and T 

para saltar sobre un personaje hacia la derecha o hacia la izquierda.

Ho! y

$ and^

mucho, también, para saltar hasta el final y el comienzo de una línea.

3

Sobre todo me usan los siguientes (en orden de frecuencia):

  • 'R ir a la posición marcada (la ` es demasiado fuera del teclado línea de base a utilizar mucho)
  • /búsqueda | ? búsqueda adelante | búsqueda hacia atrás
  • n | N siguiente | anterior en la búsqueda
  • H | L | M arriba | abajo | medio de visualización
  • G ir al final del archivo
  • 1G ir a la línea 1
  • { retroceder un 'párrafo' (a menudo un bloque de código)
  • } avanzar un 'párrafo'

La mayoría de todos estos pueden ser Augme nted con un conteo antes del comando.

0

Lea http://www.viemu.com/a-why-vi-vim.html y ejecute vimtutor, también: help motion.txt será útil. Recomiendo también permanecer en modo normal todo el tiempo, como se describe en el artículo anterior. En general, aprender vim es aprender piano: tienes que practicar mucho.

Cuestiones relacionadas