Muovendosi (efficientemente) verticalmente in Vim


27

Quando voglio raggiungere una certa parte di una parola in Vim (in orizzontale) premo semplicemente w, b, f o t (qualcosa). C'è un buon modo per farlo verticalmente? Ad esempio, voglio arrivare a una determinata parola o una lettera di una riga che è al di sotto o al di sopra della riga in cui mi trovo attualmente.

PS: Senza usare: (numero riga)

Risposte:


29

H, ME Lsi sposta il cursore verso l'alto, medio e inferiore dello schermo, rispettivamente. Successivamente, puoi premere zzper centrare lo schermo sulla linea su cui si trova il cursore.


5
E zb e zt spostano rispettivamente lo schermo in basso e in alto
Jani Hartikainen il

11
  • puoi usare la freccia su / giù per muoverti di una riga
  • puoi digitare un numero e quindi utilizzare la freccia su / giù per spostarti su / giù su molte righe
  • piccoli gsalti alla prima riga del documento
  • il capitale Gpassa all'ultima riga del documento
  • eccetera.

ci sono una miriade di altri modi diversi, vim è molto flessibile in questo senso. Consiglierei di ottenere prima un cheat sheet di Vim per i comandi di base e poi, man mano che hai tempo, consulta la documentazione di Vim su questo argomento.

Collegamento a un cheat sheet: cheat sheet

Anche:

  • /+ stringa + (Enter)cerca la ricorrenza successiva della stringa dal cursore in avanti fino alla fine del documento
  • ? - fa lo stesso, ma dal cursore all'indietro verso l'inizio del documento


6

Salto in giro alla ricerca di stringhe uniche dove voglio andare. In Vim, puoi farlo con:

/stringa di ricerca

Di solito scorro avanti e indietro usando n e N dopo aver inserito una ricerca.

Scorro anche usando Ctrl-F e Ctrl-B per scorrere rapidamente il codice. Ma uso il trucco di ricerca più spesso. A volte ci si perde nei risultati della ricerca con n e N. Un buon comando per orientarsi è Ctrl-G, che stampa qualcosa di simile in fondo allo schermo di Vim:

"script.pl" linea 219 di 328 --66% - col 19-23


+1 per <CTRL> -F e <CTRL> -B, anche se tendo a "imbrogliare" e uso <PgUp> e <PgDown> quasi altrettanto spesso!
tecnomalogico

4

prova:: lui motion.txt e: lui su-giù-movimenti

Ha l'intero elenco di possibili movimenti verso il basso


3

Puoi anche fare salti su una riga specifica nel documento emettendo Ngg dove Nè il numero di riga che vuoi saltare.


1
vuoi dire NG...
Peter,

1
Anche io uso Ngg(funzionano entrambe le varianti)
soulmerge,

1
Così come:N
viraptor il


2

come accennato in precedenza H, M, L (come in alta, media, bassa) le minuscole hjkl sono i tipici comandi di console per sinistra, giù, su, destra e funzionano allo stesso modo in vi (j, k funzionano in gmail se si abilita comandi chiave)


1

<Ctrl>+D - giù

<Ctrl>+U - su


Questo è uno scorrimento di mezza pagina. Per lo scorrimento della pagina intera, utilizzare <c-f>e<c-b>
Al.G.

1

Oltre ai normali movimenti verticali, utilizzo una versione modificata di /programming/4946421/vim-moving-with-hjkl-in-long-lines-screen-lines . Di solito mi muovo con i tasti freccia, non con hjkl (looong user di altri editor prima di trovare Vim, troppo usato per cambiare le frecce / Home / end / PgUp / PgDn, anche dopo oltre 5 anni di utilizzo esclusivo di Vim).

function! ScreenMovement(movement)
   if &wrap
      return "g" . a:movement
   else
      return a:movement
   endif
endfunction
map <expr> <C-Down> ScreenMovement("j")
map <expr> <C-Up> ScreenMovement("k")
map <expr> <C-Home> ScreenMovement("0")
map <expr> <C-End> ScreenMovement("$")

Tenendo premuto Ctrl posso andare visivamente per iniziare / finire o su / giù per visualizzare le righe. Per me questo è più efficiente delle alternative, almeno.

Quasi dimenticato: avevo bisogno di modificare .Xdefaults perché funzionasse nello specifico urxvt, ma questo è probabilmente un problema fuori tema (con risposte su Google).

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.