Ir al enésimo símbolo de la línea


85

¿Cómo mover el cursor al n-ésimo símbolo de la izquierda en Vim?

Una de las soluciones que veo es presionar 0n<right-arrow>, se moverá a la posición n + 1. ¿Hay alguna forma más natural de hacerlo?


1
La solución de flecha derecha funcionó para mi problema ... thnx
— raj_gt1

¿Quién usa en <right arrow>lugar de lin vim?
— LRDPRDX

Respuestas:


129

La pipa '|' el personaje puede ser lo que quieras:

Para ir a la columna 25 en una línea en modo normal, presione 25|

Para ir a la columna 37 en una línea en modo normal, presione 37|

y así. . .


Genial, eso era lo que estaba buscando
— Nutel

4
@CamilB Intente algo como $3h, que lo moverá al final de la línea y luego 3 caracteres a la izquierda.
— Jeff Klein

Más sobre esto en vim help :help bar. Cuando lo encontré, hizo que comentar y descomentar mucho más fácilmente XD Después de descubrir esto, no confío en complementos externos de comentarios / descomentarios, la vida de la edición de código es mucho mejor ahora :)
— Avi Mehenwal

40

EDITAR: leyó mal su pregunta.

puede avanzar a un símbolo en particular escribiendo fseguido del símbolo en cuestión:

si desea pasar al tercero $, escriba:

3f$

para ir hacia atrás, usa la "F" mayúscula

F$

para llegar primero al final de la línea, use "$"

por lo que las pulsaciones de teclas para encontrar el tercer $ desde el final de una línea son:

$3F$

Me gusta tener algo como esto a mano cuando uso Vim:
http://www.lagmonster.org/docs/vi.html


1
Este fue el primer resultado en google y esto era lo que estaba buscando, gracias
— kgwong

este movimiento se agregará también a otros comandos, como: cambiar de la posición actual a la segunda aparición del carácter "e" - c2te :)
— Vũ Tô

8

No estoy seguro de si te refieres al enésimo carácter oa la enésima aparición de un carácter; el segundo ha sido respondido, así que responderé al primero.

^lo llevará al comienzo de la línea excluyendo los espacios en blanco (es decir, a la primera columna no blanca) y |(barra vertical) o 0(cero) lo llevará al primer carácter. Luego l(L minúscula) lo llevará a la derecha; y 7lte llevará siete caracteres a la derecha. Así que todos juntos, ir a la (n + 1) -ésimo carácter de la línea, para n = 7, 07l.


Veo que ha editado la pregunta ahora; len lugar de la flecha derecha es lo mejor que obtendrá. (¿Está familiarizado con la navegación hjkl?)
— Chris Morgan

Sé que el verdadero vimmer no debería usar flechas, pero utilizo algunas otras aplicaciones que no admiten la vinculación de teclas de bajo nivel y la única forma de navegar son las flechas, por lo que para facilitar el cambio entre ellas, utilizo flechas
— Nutel

@Vetal: De vez en cuando me siento frustrado cuando el desplazamiento simplemente no funciona en otras aplicaciones ... hjkl son mucho más agradables que las flechas.
— Chris Morgan

Como señala la respuesta de Herbert Sitz, |solo va al primer carácter porque el valor [count]predeterminado es 1; en realidad va al [count]carácter número uno en la línea, por lo que 8|es como, 07lexcepto que es un solo movimiento en lugar de dos.
— hobbs

Creo que debería prestar atención a lo que hacen los personajes. Debería haber pensado que era improbable que hubiera dos formas de hacer lo mismo.
— Chris Morgan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.