Vai al simbolo n-esimo in linea


87

Come spostare il cursore sull'ennesimo simbolo da sinistra in Vim?

Una delle soluzioni che vedo è premere 0n<right-arrow>, si sposterà nella posizione n + 1. C'è un modo più naturale per farlo?


1
la soluzione freccia destra ha funzionato per il mio problema ... thnx
raj_gt1

1
Chi usa mai <right arrow>invece che lin vim?
LRDPRDX

Risposte:


134

La pipa '|' il personaggio può essere quello che vuoi:

Per passare alla 25a colonna di una riga in modalità normale, premere 25|

Per passare alla 37a colonna di una riga in modalità normale, premere 37|

e così via. . .


Fantastico, era quello che stavo cercando
Nutel

4
@CamilB Prova qualcosa di simile $3h, che ti porterà alla fine della riga e poi a 3 caratteri a sinistra.
Jeff Klein

Maggiori informazioni su questo su vim help :help bar. Quando l'ho scoperto ha reso i commenti e la rimozione dei commenti molto più facili XD Dopo aver scoperto questo, non mi affido a plugin esterni di commento / decompressione, la vita di modifica del codice è molto migliore ora :)
Avi Mehenwal

41

EDIT: hai letto male la tua domanda.

puoi passare a un simbolo particolare digitando fseguito dal simbolo in questione:

se vuoi passare alla terza $, digita:

3f$

per tornare indietro si usa la "F" maiuscola

F$

per arrivare prima alla fine della riga, usa "$"

quindi le tue battiture per trovare il terzo $ dalla fine di una riga sono:

$3F$

mi piace tenere qualcosa di simile a portata di mano quando uso Vim:
http://www.lagmonster.org/docs/vi.html


2
Questo è stato il primo risultato in Google ed era quello che stavo cercando, grazie
kgwong

1
questo movimento può essere aggiunto anche ad altri comandi, come: cambia dalla posizione corrente alla seconda comparsa del carattere "e" - c2te :)
Vũ Tô

8

Non sono sicuro se intendi l'ennesimo carattere o l'ennesima occorrenza di un carattere; al secondo è stata data una risposta quindi risponderò al primo.

^ti porterà all'inizio della riga escludendo gli spazi (quindi alla prima colonna non bianca) e |(barra verticale) o 0(zero) ti porterà al primo carattere. Quindi l(L minuscola) ti porterà a destra; e 7lti porterà sette caratteri a destra. Quindi tutti insieme, per andare in (n + 1) esimo carattere sulla linea, per n = 7, 07l.


Vedo che hai modificato la domanda ora; linvece della freccia destra è il meglio che otterrai. (hai familiarità con la navigazione hjkl?)
Chris Morgan

So che il vero vimmer non dovrebbe usare le frecce ma io uso alcune altre applicazioni che non supportano l'associazione di tasti di basso livello e l'unico modo per navigare sono le frecce, quindi per facilitare il passaggio da una all'altra uso le frecce
Nutel

@Vetal: a volte mi sento frustrato quando lo scorrimento non funziona in altre applicazioni ... hjkl sono molto più belli delle frecce.
Chris Morgan

Come sottolinea la risposta di Herbert Sitz, |va solo al primo carattere perché il [count]valore predefinito è 1 - in realtà va al [count]carattere esimo nella riga, quindi 8|è come 07ltranne che è un singolo movimento invece di due.
hobbs

Penso che dovrei prestare attenzione a quello che fanno i personaggi. Avrei dovuto pensare che fosse improbabile che ci fossero due modi per fare la stessa cosa.
Chris Morgan
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.