Ir al comienzo de la línea sin abrir una nueva línea en VI


231

Desde hace mucho tiempo que he usado SHIFTOy SHIFT$para pasar al principio y al final de una línea vi.

Sin embargo, SHIFTOes más para abrir una nueva línea sobre el cursor.

¿Hay algún comando que te lleve al comienzo de una línea?


99
Además de las respuestas a continuación, escriba: help izquierda-derecha-movimientos en Vim para obtener mucha información.
ngm

un buen libro para vim: practica en vim. ^ 0
陈思秀

Respuestas:


428

Puede usar ^o 0(Cero) en modo normal para moverse al comienzo de una línea.

^mueve el cursor al primer carácter no en blanco de una línea
0siempre mueve el cursor a la "primera columna"

También puede usar Shiftipara mover y cambiar al modo Insertar.


55
También Shift + A y Shift + I van al final y al principio de la línea respectivamente y también cambian a Insertar modelo
bibstha

77
Para mí, presionar ^generalmente no es tan fácil como presionar 0y wconsecutivamente.
DXDXY

33

Un simple 0te lleva al principio de una línea.

:help 0 para más información



12

Puede usar 0o ^para moverse al comienzo de la línea.
Y puede usar Shift+ Ipara moverse al principio y cambiar al modo de edición ( Insertar ).


Su respuesta es mayormente correcta pero hay una pequeña advertencia. Shift+Io ^moverá el cursor al comienzo del texto en la línea. Si la línea tiene npestañas al principio, moverá el cursor a n*tabstop + 1la columna. Mientras 0mueve el cursor a la primera columna de la línea.
narendra-choudhary

10

Hay otra forma:

|

Esa es la "tubería": el símbolo que se encuentra debajo del espacio de retroceso en el diseño ANSI .

Vim quickref ( :help quickref) lo describe como:

N      |      to column N (default: 1)

¿Qué pasa con las líneas envueltas?

Si tiene habilitadas las líneas de ajuste 0y |ya no lo llevará al comienzo de la línea de la pantalla. En ese caso, use:

g0

De nuevo, vim quickref doc:

 g0   to first character in screen line (differs from "0"
      when lines wrap)

Ahora veo por qué funciona. Gracias. Me preguntaba. Creo que es mejor que 0porque |y $están en la misma clave.
WesternGun


6

Mueva el cursor al principio o finalice con el modo de inserción

  • I - Mueve el cursor al primer carácter no en blanco en la línea actual y habilita el modo de inserción.
  • A - Mueve el cursor al último carácter en la línea actual y habilita el modo de inserción.

Aquí Ies equivalente a ^+ i. Del mismo modo Aes equivalente a $+ a.

Simplemente moviendo el cursor al principio o al final

  • ^ - Mueve el cursor al primer carácter no en blanco en la línea actual
  • 0 - Mueve el cursor al primer carácter en la línea actual
  • $ - Mueve el cursor al último caracter en la línea actual

5

Acabo de encontrar 0 (cero) y shift + 0 funciona en vim.


55
shift+0esa )es la siguiente oración
mihai

Shift+0es mejor, ^muestra el personaje y eso es molesto. Gracias
calbertts

1

0 Te lleva al principio de la línea

Shift 0 Te lleva al final de la línea


Shift-0 (')') no te lleva al principio de la línea
Boris Churzin

@Devenv: ¡Eso es verdad! 0 voluntad
Sagar Jain

1
Shift-0 (")") es "oración hacia adelante", no "fin de línea" (eso es lo que quise decir)
Boris Churzin
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.