Saya hanya memperhatikan bahwa scroll trackpad saya berfungsi di Vim, inersia, dan semuanya. Saya ingin mengubah ini agar berfungsi secara horizontal - jadi saya dapat menggulir ke atas dan ke bawah untuk membuat kursor bergerak ke kiri dan ke kanan alih-alih menahan tombol panah kanan untuk waktu yang sangat lama.
Bagaimana saya bisa memetakan gulir ke gerakan kiri / kanan?
wWeE$)}
dll.), Dan jika Anda menggunakan tombol panah, Anda pasti menggunakan Vim yang salah.Jawaban:
Menurut
:help scroll-mouse-wheel
jawabannya tidak jika Anda menggunakan Win32 GUI.Di sisi lain, menggunakan X11 GUI atau konsol vim dengan dukungan mouse, roda mengirimkan penekanan tombol yang dapat Anda remap.
Jadi, Anda bisa mendapatkan perilaku yang Anda uraikan
Perhatikan bahwa saya menggunakan
nmap
untuk memetakan dalam mode normal.Untuk mendapatkan perilaku serupa di mode lain, Anda dapat memetakan ke arah alih-alih tombol normal. Misalnya untuk gerakan mode memasukkan:
Untuk menjadikannya default, tempelkan di bagian bawah vimrc Anda.
sumber
Saya menemukan cara untuk melakukan itu dengan Hammerspoon dan penggunaan pemetaan yang cerdas.
Bagian pertama adalah mengkonfigurasi Shift+ ScrollUpdan Shift+ ScrollDownuntuk menggulir secara horizontal. Untuk melakukan itu, Anda telah memasukkan potongan kode berikut di
.vimrc
:Perhatikan bahwa kita harus menggunakan
<S-2-ScrollWheelUp>
dan sejenisnya karena mereka juga dikirim sebagai kunci ke terminal. Saya tidak menemukan dokumentasi tentang ini (saya menemukan ini dengan menggunakan Ctrl+ Vsaat menggulir dalam mode insert).Setelah itu, kita harus memetakan kembali gulungan horizontal menjadi Shift+ gulungan vertikal. Untuk melakukannya, kami menempatkan cuplikan berikut di Hammerspoon's
init.lua
Kami membuat
scrollBind
variabel agar pengamat tombol tidak terhapus oleh pengumpul sampah Lua.sumber
Jika Anda menggunakan MacVim pada OS X, ini akan berfungsi dengan trackpad:
sumber