Bunu Hammerspoon
ve akıllı harita kullanımı ile yapmanın bir yolunu buldum .
İlk bölüm yatay kaydırmak için Shift+ ScrollUpve
Shift+ ' ScrollDownyı yapılandırmaktır . Bunu yapmak için, aşağıdaki konularda aşağıdaki kod parçacığını koyduk .vimrc
:
nnoremap <S-ScrollWheelUp> <ScrollWheelLeft>
nnoremap <S-2-ScrollWheelUp> <2-ScrollWheelLeft>
nnoremap <S-3-ScrollWheelUp> <3-ScrollWheelLeft>
nnoremap <S-4-ScrollWheelUp> <4-ScrollWheelLeft>
nnoremap <S-ScrollWheelDown> <ScrollWheelRight>
nnoremap <S-2-ScrollWheelDown> <2-ScrollWheelRight>
nnoremap <S-3-ScrollWheelDown> <3-ScrollWheelRight>
nnoremap <S-4-ScrollWheelDown> <4-ScrollWheelRight>
<S-2-ScrollWheelUp>
Terminale de anahtar olarak gönderildiklerinden, ve benzerlerini kullanmamız gerektiğini unutmayın . Bu konuda hiçbir belge bulunamadı ( ekleme modunda kaydırma yaparken Ctrl+ kullanarak bunu anladım
V).
Bundan sonra yatay kaydırmaları Shift+ dikey kaydırmaya yeniden eşlemeliyiz. Bunu yapmak için Hammerspoon'a aşağıdaki pasajı yerleştiriyoruzinit.lua
scrollBind = hs.eventtap.new({hs.eventtap.event.types.scrollWheel}, function(e)
if is_active('iTerm2') then
local horizontalOffset = e:getProperty(hs.eventtap.event.properties.scrollWheelEventDeltaAxis2)
if horizontalOffset ~= 0 then
hs.eventtap.scrollWheel({ 0, horizontalOffset }, {"shift"}, 'pixel')
return true
end
end
return false
end):start()
function is_active(program_name)
local active_window_name = hs.window.focusedWindow():application():name()
return active_window_name == program_name
end
scrollBind
Değişkeni, tuş vuruşu izleyicisinin Lua'nın çöp toplayıcısı tarafından silmemesi için yaratıyoruz .
wWeE$)}
vb.) Ve ok tuşlarını kullanıyorsanız kesinlikle Vim'i yanlış kullanıyorsunuz demektir.