2011-11-03 13 views
8

A volte, trovo che il traversal del documento sia troppo lento in Vim quando si utilizza h, j, k, l. C'è un modo per aumentare temporaneamente il numero di linee/caratteri che questi tasti spostano il cursore? (Vale a dire invece di muoversi 1j, premendo j si muoverà 3j)Vim: aumenta la velocità di attraversamento del documento

Edit: Soluzione:

:map <F8> :noremap j 3j <CR> 
:map <S-F8> :noremap j j <CR> 

Volevo qualcosa di simile in modo che possa facilmente navigare corpi più lunghi di codice che non am necessariamente familiare si . Questo approccio mi consente di passare facilmente dalla modalità "browsing" alla modalità "coding".

risposta

18

Mentre possibile (utilizzare :noremap j 3jEnter e :noremap j jEnter per ripristinare), potrebbe non essere utile per molto tempo per cambiare il comportamento di questi tasti.

Ci sono molti modi per navigare in Vim. Naturalmente è possibile avanzare di schermi pieni utilizzando CtrlF e CtrlB.

È possibile, come si è alluso, immettere un numero di mosse prima di eseguire la navigazione.

Si può anche andare direttamente a una linea specifica utilizzando :Enter, per esempio.

Se viene visualizzato il testo a cui si desidera navigare, utilizzare / o ? seguito dal testo.

Per h e l, è possibile navigare confini di parola in modo più rapido con b, w, e e, e contigua non spazi bianchi con B, W e E.

+0

Grazie per l'aiuto! Ho risposto alla mia domanda. +1 –

12

Prova Ctrl + D/Ctrl + U e Ctrl + F/B (su/giù, avanti/indietro rispettivamente).

Questi attraverseranno il documento molto più rapidamente di h,j,k,l.

+0

Grazie per quello. Penso di averlo incontrato qualche tempo fa e me ne sono dimenticato. Sarà sicuramente utile per la codifica futura. –

+0

Può essere utile notare che è possibile impostare il numero di righe scorse con 'C-u' e' C-d' facendo passare un conteggio la prima volta (o impostando l'opzione 'scroll'). Anche le seguenti pressioni useranno questo conteggio senza doverlo passare di nuovo. –

5

Quello che @Bryan Ross ha suggerito è assolutamente giusto. Voglio aggiungere solo una cosa. Usa relativenumber, ti aiuterà a usare j e k in modo più efficiente.

+4

Eccellente, grazie amico. Penso che quello che mi piace di più di Vim è che, indipendentemente da quanto imparo, ci sono sempre altre fantastiche funzioni in agguato da provare. –

1

Risposta da Jay è sufficiente, vorrei aggiungere quanto segue!

Ci sono molti diversi tipi di navigazione possibili in vim, (dove come h, j, k, l sono solo linee di navigazione).Alcuni altri sono:

  • navigazione schermo
  • navigazione spl
  • navigazione ricerca
  • navigazione parola

consultare questo scrivere fino a scoprire i tasti di scelta rapida per farlo: Essential Vim editor navigation

1

Un'altra cosa che aiuta è avere i numeri di linea attivati ​​(: numero impostato). Se si vede sullo schermo in cui è necessario andare a vedere il numero di riga, è solo G.

Se avete a che fare con il codice in blocchi,% si muoverà a una doppietta di corrispondenza, tra parentesi, ecc

Se gestisci file con molti personaggi stravaganti, t, T, f e F sono molto utili.

-1

So che ci sono così tanti trucchi per attraversare velocemente, ma per me è il più comodo è una tastiera meccanica, con aumento della frequenza di ripetizione incorporato quando si tiene premuto un pulsante aumenta la ripetizione reat ecc. Per la j o k anche l'attraversamento sarà veloce e scorrevole. (Che bello!) Ma è fastidioso quando hai il tuo vimrc ma non hai la tua tastiera quindi non è una soluzione universale.

Problemi correlati