मैं क्षैतिज स्क्रॉलिंग के लिए अपने ट्रैकपैड का उपयोग कैसे कर सकता हूं?


10

मैंने अभी देखा कि मेरा ट्रैकपैड स्क्रॉल विम, जड़ता और सभी में काम करता है। मैं इसे क्षैतिज रूप से काम करने के लिए बदलना चाहता हूं - इसलिए मैं बड़ी मात्रा में समय के लिए दाएं तीर कुंजी को पकड़ने के बजाय कर्सर को बाईं और दाईं ओर ले जाने के लिए ऊपर और नीचे स्क्रॉल कर सकता हूं।

मैं अपनी स्क्रॉलिंग को बाएं / दाएं आंदोलन में कैसे मैप कर सकता हूं?


2
सिडेनोट: यदि आप एक ही आंदोलन कुंजी को एक पंक्ति में कुछ बार से अधिक दबा रहे हैं, तो आप शायद इसे गलत (उपयोग wWeE$)}आदि) कर रहे हैं, और यदि आप तीर कुंजियों का उपयोग कर रहे हैं तो आप निश्चित रूप से गलत का उपयोग कर रहे हैं।
डोरकनोब

जवाबों:


4

:help scroll-mouse-wheelयदि आप Win32 GUI का उपयोग कर रहे हैं तो उत्तर के अनुसार नहीं है।

दूसरी ओर, माउस समर्थन के साथ X11 GUI या कंसोल वीम का उपयोग करते हुए, पहिया प्रमुख प्रेस भेजता है जिसे आप रीमैप कर सकते हैं।

इसलिए, आप उस व्यवहार को प्राप्त कर सकते हैं जिसका आप वर्णन करते हैं

:nmap <ScrollWheelUp> h
:nmap <ScrollWheelDown> l

ध्यान दें कि मैं nmapसामान्य मोड में मैपिंग के लिए उपयोग कर रहा हूं ।

अन्य मोड में समान व्यवहार प्राप्त करने के लिए, आप सामान्य कुंजी के बजाय दिशा में मैप कर सकते हैं। डालने मोड आंदोलन के लिए जैसे:

:imap <ScrollWheelUp> <Left>
:imap <ScrollWheelDown> <Right>

इन डिफ़ॉल्ट बनाने के लिए, उन्हें अपने vimrc के नीचे चिपका दें।


मेरा मानना ​​है कि ओपी OSX का उपयोग कर रहा है, इसलिए न तो Win32 और न ही X11 (सबसे अधिक संभावना है)।
सेठ

1
क्या OSX के लिए कोई जवाब है?
bsmith89

काश, vim प्रलेखन OSX का उल्लेख नहीं करता है और मेरे पास OSX मशीन नहीं है जिस पर इसे आजमाया जा सके। :-(
जॉन ओ'एम।

1
आह, मुझे इसका उल्लेख करना चाहिए था - मैं ओएस एक्स चला रहा हूं, लेकिन ज्यादातर समय एक उबंटू सर्वर में एसएसएच कर रहा हूं।
पूर्ववत करें

ये अच्छी खबर है! यदि ssh के दूसरे छोर पर vim स्क्रॉल घटनाओं पर प्रतिक्रिया करता है, तो आपका टर्मिनल एमुलेटर स्क्रॉल घटनाओं को इसके माध्यम से भेज रहा है और उपरोक्त उत्तर आपके लिए काम करना चाहिए, दोनों स्थानीय रूप से चल रहे रिम और दूरस्थ रूप से चल रहे विम। यदि आप अपने टर्मिनल एमुलेटर के नाम के साथ टिप्पणी करते हैं, तो मैं इसका जवाब दूंगा।
जॉन ओ.एम.

4

मैंने हैमरस्पून और मैपिंग के चतुर उपयोग के साथ ऐसा करने का एक तरीका निकाला

पहला भाग क्षैतिज रूप से स्क्रॉल करने के लिए Shift+ ScrollUpऔर Shift+ कॉन्फ़िगर कर रहा है ScrollDown। ऐसा करने के लिए, आपने निम्नलिखित कोड स्निपेट को अपने में डाल दिया है .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>और पसंद है क्योंकि उन्हें टर्मिनल के लिए कुंजी के रूप में भी भेजा जाता है। मुझे इस बारे में कोई दस्तावेज़ नहीं मिला (मैंने सम्मिलित मोड में स्क्रॉल करते हुए Ctrl+ का उपयोग करके यह पता लगाया V)।

उसके बाद, हमें क्षैतिज स्क्रॉल को Shift+ वर्टिकल स्क्रॉल पर रीमैप करना होगा । ऐसा करने के लिए, हम निम्नलिखित स्निपेट को हैमरस्पून में रखते हैंinit.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वैरिएबल का निर्माण करते हैं, इसलिए कीआस्ट्रोक पर नजर रखने वाला लुआ के कचरा संग्रहकर्ता द्वारा मिटाया नहीं जाता है।


यह एक चतुर चाल है, ^ विदाउट मोड में ^ वी का उपयोग कर भेजे गए कीज को देखने के लिए! मुझे प्रलेखन खोजने में भी परेशानी हुई है, लेकिन पीसी (और व्हील माउस) की कमी है। मैं एक व्हील को टच स्क्रीन के साथ अनुकरण करने की कोशिश कर रहा हूं। मुझे आश्चर्य है कि अगर आप क्षैतिज स्क्रॉल व्हील की कुंजियों की खोज करने के लिए भी हुए हैं। मैंने उनसे 66/67 (अप / डाउन के लिए 64/65 के बाद) होने की उम्मीद की, और वे बटन संख्या 6/7 होने का मतलब है, लेकिन यह काम नहीं कर रहा है। धन्यवाद!
हाइपरपैलियम

2

यदि आप OS X पर MacVim का उपयोग करते हैं, तो यह ट्रैकपैड के साथ काम करेगा:

set mouse=n " enable mouse in normal mode
set nowrap  " disable line wrapping (so there's something to scroll to)

मुझे पता है कि ओपी की स्थिति अलग है, लेकिन यह कुछ उपयोगकर्ताओं के लिए एक वैध जवाब है।
डेविड लॉर्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.