Vai all'inizio della riga senza aprire una nuova riga in VI


231

Per anni ormai ho usato SHIFTOe SHIFT$per spostarmi all'inizio e alla fine di una riga vi.

Tuttavia SHIFTOè più per l'apertura di una nuova riga sopra il cursore.

C'è un comando che ti porta all'inizio di una riga?


9
Oltre alle risposte di seguito, digita: help movimenti sinistro-destro in Vim per molte informazioni.
ngm

un buon libro per vim: pratica in vim. ^ 0
陈思秀

Risposte:


428

È possibile utilizzare ^o 0(Zero) in modalità normale per spostarsi all'inizio di una riga.

^sposta il cursore sul primo carattere non vuoto di una riga
0sposta sempre il cursore sulla "prima colonna"

È inoltre possibile utilizzare Shiftiper spostare e passare alla modalità Inserisci.


5
Anche Maiusc + A e Maiusc + I vanno rispettivamente alla fine e all'inizio della riga e
passano

7
Per me, premere di ^solito non è facile come premere 0e wconsecutivamente.
DXDXY,

33

Un semplice 0ti porta all'inizio di una riga.

:help 0 per maggiori informazioni



12

Puoi usare 0o ^per spostarti all'inizio della riga.
E puoi usare Shift+ Iper spostarti all'inizio e passare alla modalità di modifica ( Inserisci ).


La tua risposta è per lo più corretta ma c'è un piccolo avvertimento. Shift+Io ^sposta il cursore all'inizio del testo nella riga. Se la riga ha delle nschede all'inizio, sposta il cursore sulla n*tabstop + 1colonna. Mentre 0sposta il cursore sulla prima colonna della riga.
Narendra-Choudhary,

10

C'è un altro modo:

|

Questo è il "tubo" - il simbolo trovato sotto il backspace nel layout ANSI .

Vim quickref ( :help quickref) lo descrive come:

N      |      to column N (default: 1)

Che dire delle linee avvolte?

Se hai abilitato le linee di avvolgimento 0e |non ti porterà più all'inizio della linea di schermo. In tal caso utilizzare:

g0

Ancora una volta, vim quickref doc:

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

Ora vedo perché funziona. Grazie. Mi stavo chiedendo. Penso che sia meglio di 0perché |e $sono sulla stessa chiave.
WesternGun


6

Spostare il cursore all'inizio o alla fine con la modalità di inserimento

  • I - Sposta il cursore sul primo carattere non vuoto nella riga corrente e abilita la modalità di inserimento.
  • A - Sposta il cursore sull'ultimo carattere della riga corrente e abilita la modalità di inserimento.

Qui Iè equivalente a ^+ i. Allo stesso modo Aequivale a $+ a.

Basta spostare il cursore all'inizio o alla fine

  • ^ - Sposta il cursore sul primo carattere non vuoto nella riga corrente
  • 0 - Sposta il cursore sul primo carattere della riga corrente
  • $ - Sposta il cursore sull'ultimo carattere della riga corrente

5

Ho appena trovato 0 (zero) e shift + 0 funziona su vim.


5
shift+0cioè la )prossima frase
mihai,

Shift+0è meglio, ^mostra il personaggio ed è fastidioso. Grazie
calbertts,

1

0 Ti porta all'inizio della riga

Shift 0 Ti porta alla fine della linea


Shift-0 (')') non ti porta all'inizio della riga
Boris Churzin,

@Devenv: è vero! 0 sarà
Sagar Jain il

1
Shift-0 (")") è "frase in avanti" non "fine della linea" (questo è ciò che intendevo dire)
Boris Churzin,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.