In ogni caso per navigare in percentuale in vim?


25

Apro spesso file di grandi dimensioni, guardando i registri per trovare informazioni. Poiché nel mio caso tutte le righe hanno il timestamp e sono sicuro di quale parte dell'intero file sono presenti le informazioni a cui sono interessato. Ad esempio,

  • nella metà inferiore del contenuto del file (50% o oltre) o
  • circa il 10% in più verso la fine del file o
  • scorrere verso il basso più del 20% del file originale.

Quindi, per navigare rapidamente in questo modo, ad esempio in percentuale - Esistono già funzionalità disponibili in vim?


@stephane Qualche modo per andare oltre il 10% dalla linea corrente? Non vede nulla di referenziato per navigare in questo in aiuto:h N%
mtk

Ho appena provato una percentuale relativa + 50% Non funziona, quindi no. Ho aggiornato la mia risposta per mostrare le informazioni di aiuto.
X Tian,

Risposte:


45

Ci scusiamo per una breve risposta, ma

basta digitare 50%

                                                        *N%*
{count}%                Go to {count} percentage in the file, on the first
                        non-blank in the line |linewise|.  To compute the new 
                        line number this formula is used:
                            ({count} * number-of-lines + 99) / 100
                        See also 'startofline' option.  {not in Vi}

3
Questa risposta è impeccabile. E potrebbe esserlo ancora di più se anche tu potessi fare un movimento relativo: vale a dire, spostandoti ad esempio del 10% in avanti, indipendentemente da dove ti trovi. Si noti inoltre che non è necessario accedere: per accedere alla modalità comando.
nilon,

3

C'è il [count]%comando (che intuitivo!) Per la navigazione assoluta. Per la navigazione relativa, devi calcolare tu stesso l'importo. Ad esempio per scorrere verso il basso del 33%:

:exe 'normal!' 33 * line('$') / 100 . 'j'

(Probabilmente vuoi creare mappature da usare v:countper questi.)

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.