Saya sering menemukan menggulir halaman penuh terlalu membingungkan, setengah halaman terlalu banyak, tetapi seperempat halaman tepat. Saat ini saya melakukannya hanya dengan menahan tombol panah.
Bagaimana cara saya menggulir 25% halaman ke bawah dan ke atas dengan mudah?
cursor-movement
scrolling
Louis Hong
sumber
sumber
Jawaban:
Mungkin ctrlddan ctrlubisa jadi apa yang Anda cari. Secara default mereka memindahkan separuh layar.
Dari
:h CTRL-D
:Yang berarti bahwa pertama kali Anda ingin menggulir di jendela Anda dapat melakukan di XXctrldmana XX adalah 25% dari jumlah baris di jendela Anda. Saat
scroll
nilai XX ditetapkan , Anda dapat menggunakan ctrlddan ctrlumemindahkan 25% layar.Juga, saya pikir itu
:h scrolling
mungkin menarik untuk Anda.Edit
Dan berikut ini adalah solusi lain dengan fungsi dan beberapa pemetaan untuk ditambahkan ke Anda
.vimrc
:Fungsi akan mendapatkan ketinggian jendela saat ini, dan sesuai dengan parameternya akan menggulir layar ke atas atau ke bawah seperempat dari ketinggian.
Pemetaan akan memanggil fungsi, yang pertama naik dan yang kedua turun.
Tentu saja, Anda dapat mengubah
<up>
dan<down>
ke beberapa tombol lain jika Anda ingin mempertahankan perilaku default tombol panah Anda.sumber
ctrl-E
danctrl-Y
dalam pemetaan, karena a). Anda kemudian memiliki pintasan terpisah untuk pengguliran 1/2 halaman dan 1/4 halaman. b). perilakuctrl-U
/ctrl-D
konsisten dan tidak bergantung pada apakah Anda sebelumnya menggunakan pemetaan.let key="^U"
bagian antara kutipan ganda dimaksudkan untuk mewakili kode kuncictrl+u
. Jadi, jika Anda menyalin fungsi di vim, letakkan kursor Anda pada klik tanda kutip ganda pertamaci"
untuk mengubah konten tanda kutip dan kemudian tekanctrl+v
diikuti olehctrl+u
yang sama pada barislet key="^D"
.let key="^Y"
alih-alihlet key="^U"
. Ini akan menciptakan perilaku yang sama tetapi tanpa mempengaruhi'scroll'
pengaturan.Anda dapat menggunakan ctrledan ctrlyuntuk memindahkan halaman dengan satu baris ke atas dan ke bawah.
Kemudian jika Anda ingin +/- 25% dipindahkan, Anda dapat menggunakan 20ctrledan itu akan memindahkan Anda 20 baris ke bawah.
Berikut ini juga pertanyaan yang dijelaskan dengan baik yang serupa dengan Anda: /programming/3458689/how-to-move-screen-without-moving-cursor-in-vim
sumber
Saya memvariasikan pendekatan statox sehingga menggulir lebih konsisten di atas linewraps. Jika Anda ingin seperempat langkah, ubah 0,618 kembali ke 0,25 atau apa pun.
sumber
Jika Anda menginginkan jawaban umum yang baik dan bukan 25% tepat, Anda dapat memperhitungkan jumlah garis normal pada halaman dengan membagi 25 dan mengatur beberapa pemetaan sistem. Misalnya jika Anda biasanya memiliki sekitar 100 garis pada layar pada suatu waktu maka 25% dari itu adalah 25 garis sehingga Anda dapat mengatur pemetaan kunci pada sesuatu seperti modal Anda J dan K untuk dengan cepat bergerak naik dan turun 25 garis
Jika Anda hanya ingin melompat ke tanda seperempat dari seluruh file maka dalam mode normal cukup ketik:
sumber
noremap J 25j
hardcodes nilai25
sehingga ketika misalnya Anda secara horizontal membagi 100 baris jendela pemetaan Anda sebenarnya akan menavigasi 50% dari jendela baru. Tentang opsi kedua Anda,:25%
saya tidak tahu itu ada tetapi dari tes saya tampaknya menempatkan kursor pada posisi berdasarkan baris pertama: jika saya memiliki buffer 100 baris dan saya ingin bergerak 25% mengetik ke depan:25%
akan membawa saya pada baris 25 di mana pun kursor saya berada. Bisakah Anda memasukkan topik bantuan yang menjelaskan fitur ini yang tidak dapat saya temukan di dalam dokumen?:h N%
:-)