Pokoknya untuk menavigasi persentase-bijaksana di vim?

25

Saya sering membuka file besar, mencari log untuk mencari info. Karena semua baris memiliki stempel waktu dalam kasus saya dan saya yakin di bagian mana dari seluruh file info ini hadir yang saya tertarik. Misalnya,

  • di bagian bawah isi file (50% atau lebih) atau
  • sekitar 10% lebih menjelang akhir file atau
  • gulir ke bawah lebih banyak 20% dari file asli.

Jadi, untuk menavigasi dengan cepat dengan cara ini yaitu dengan persentase-bijaksana - Apakah ada fungsi yang sudah tersedia vim?

mtk
sumber
@stephane Ada cara lain untuk mendapatkan lebih dari 10% dari jalur saat ini? Tidak melihat apa pun yang dirujuk untuk menavigasi dalam bantuan ini:h N%
mtk
Saya baru saja mencoba persentase relatif + 50% Tidak berhasil, jadi tidak. Saya telah memperbarui jawaban saya untuk menampilkan informasi bantuan.
X Tian

Jawaban:

45

Maaf untuk jawaban singkat, tetapi

ketik saja 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}
X Tian
sumber
3
Jawaban ini sempurna. Dan itu bisa menjadi lebih dari itu jika Anda bisa membuat gerakan relatif juga: yaitu, bergerak misalnya 10% ke depan, terlepas dari melihat di mana Anda berada. Perhatikan juga bahwa Anda tidak: boleh masuk ke mode perintah akses.
nilon
3

Ada [count]%perintah (betapa intuitif!) Untuk navigasi absolut. Untuk navigasi relatif, Anda harus menghitung sendiri jumlahnya. Misalnya gulir ke bawah 33%:

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

(Anda mungkin ingin membuat pemetaan yang digunakan v:countuntuk ini.)

Ingo Karkat
sumber