In Vim, vorrei tornare indietro di una parola. Il contrario di "w"


207

Quando usi vim, puoi andare avanti parola per parola con w. Come posso tornare indietro?


8
viemu.com/vi-vim-cheat-sheet.gif Questo ha molte chiavi vim in un semplice formato grafico. Consiglio vivamente di stamparlo e di averlo vicino al tuo computer se intendi utilizzare vim molto.
Sam Brinck,


1
Vedi anche: stackoverflow.com/questions/5125270/… se interessati a tornare indietro alla fine della parola precedente - usando ge e gE
arcseldon,

Risposte:


283

Usa bper tornare indietro di una parola.

Potresti anche voler fare il check out We Bavanzare / tornare indietro a WORD(che consiste in una sequenza di caratteri non vuoti separati da uno spazio bianco, secondo :h WORD).


42
Per completezza, il bene geandrà indietro alla fine di una parola. gEandrà indietro alla fine di unWORD
Peter Rincker

4
@Peter Rincker: e ee Eandrà avanti.
Benoit,

1
Qual è la differenza tra b e B? O w e W? Il comportamento sembra lo stesso.
Casey Patton,

@CaseyPatton: le versioni maiuscole trattano qualsiasi sequenza di non-spazi bianchi come parole; le lettere minuscole sono simili a \w|\S. Vedi :help worde :help WORDper maggiori dettagli.
nn

Vale anche la pena considerare ge e gE per tornare indietro alla fine della parola precedente. Inoltre, vedere stackoverflow.com/questions/5125270/...
arcseldon

79

Mi aiuta a pensarlo come:

b per andare all'inizio della parola corrente o precedente

w per andare all'inizio della parola successiva

e per andare alla fine della parola corrente o successiva

ge per andare alla fine della parola precedente

Prova :h word-motionsper maggiori dettagli e come combinarli con le operazioni.



2

In alternativa, se si utilizza w, b, W, e Balle linee Naviga sperando sulle parole, prendere in considerazione le seguenti alternative che possono essere più veloce se usato correttamente.

f<char>    # jump to next occurrence of <char> to right (inclusive)

o

F<char>    # jump back to next occurrence of <char> to left (inclusive)

Se le tue parole sono separate da spazi

Se le tue parole sono separate da <space>puoi saltare le parole dagli spazi:

f<space>;;;;dove ;ripete il comando precedente, quindi si salta in avanti di spazi

F<space>;; saltare all'indietro dallo spazio

Se le tue parole sono separate da punteggiatura e non da spazi

sostituisci semplicemente <char>con punteggiatura, per esempio.

Il metodo di punteggiatura non è efficiente per scorrere, ma se sai dove vuoi saltare di solito può arrivarci in un salto o due

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.