2014-09-07 7 views
5

È possibile utilizzare lo g$ per spostare il cursore sull'ultimo carattere della riga dello schermo, ma quale operatore può essere utilizzato per spostare il cursore sull'ultimo carattere non vuoto della riga dello schermo?Quale operatore può essere utilizzato per spostare il cursore sull'ultimo carattere non vuoto della riga dello schermo in vim?

+0

Cosa avete bisogno di questo per (così spesso che si desidera un operatore)? Non basterebbe 'g $ b'? –

+1

@IngoKarkat, 'g $ b' sarebbe sufficiente per me. Grazie! –

risposta

5

g_ (g seguito da sottolineatura) si sposta all'ultimo carattere non vuoto dello schermo linea linea testo. (Come sottolineato da han pingtian nei commenti).

Per passare l'ultimo carattere non vuoto della linea schermo, non c'è solo operatore che ho potuto trovare, ma è possibile combinare g$ con ge per raggiungere questo risultato: utilizzare g$ per andare l'ultimo carattere (vuoto o non vuoto) della riga dello schermo, quindi se il cursore si trova su uno spazio vuoto, usare ge per tornare indietro all'ultimo carattere della parola precedente. (E ovviamente, se il carattere sotto il cursore non è vuoto, ometti l'operatore ge).

Se si sta tentando di scrivere uno script, questo non sarà utile come un singolo operatore dedicato, poiché richiede di prendere una decisione sul carattere sotto il cursore dopo che lo g$ è stato completato. Ma se stai solo provando ad accedere all'ultimo carattere non vuoto in modalità visiva o per scopi di editing interattivo, la combinazione ge dovrebbe essere sufficiente per quello che ti serve.

Provare anche a sostituire gE per ge, a seconda che si desideri ignorare la punteggiatura o meno. (Vedere :help word-motions per la distinzione tra e e E: in fondo, E conta tutti i caratteri che non sono spazi come caratteri di parola, mentre e conta solo lettere, cifre e underscore.)

+0

Siamo spiacenti, ma sembra che 'g_' si sposti solo sull'ultimo carattere non vuoto della ** intera riga di testo **, non sulla riga dello schermo. Mi chiedo se c'è un operatore in grado di farlo ... –

+0

Grande, grazie per la risposta eccellente! –

0

a destra dello schermo

g$

sinistra dello schermo

g0

parte superiore di schermo

H (alta)

centro dello schermo

M

inferiore dello schermo

L (basso)

Problemi correlati