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.