स्क्रोलव्हील का उपयोग करते समय, स्क्रीन को स्क्रॉल करें, कर्सर को नहीं


18

मैं एक टर्मिनल में विम का उपयोग कर रहा हूं, इसलिए स्क्रॉल व्हील के साथ स्क्रॉल करना \e[Aऔर \e[Bसिंटैक्स (जहां \eप्रतीक \x1b, या बचना) का उपयोग करता है ।

हालांकि, विम कर्सर को एक रेखा से ऊपर या नीचे ले जाकर इसकी व्याख्या करता है। वांछित व्यवहार यह है कि स्क्रीन को ऊपर या नीचे ले जाया जाता है, जैसे <C-e>और <C-y>करते हैं।

जब मैं अपने स्क्रॉल व्हील का उपयोग करता हूं, तो उसी लाइन पर कर्सर रखते हुए मैं स्क्रीन को स्थानांतरित करने के लिए विम को कैसे बता सकता हूं? यह सभी सामान्य मोड (सम्मिलित, सामान्य, दृश्य चयन) में काम करना चाहिए।

मैंने पहले से ही कोशिश की है, उदाहरण के लिए, :nnoremap <esc>[A <C-e>( <esc>शाब्दिक बच चरित्र के साथ प्रतिस्थापित Ctrl+V Esc), लेकिन यह निरर्थक साबित हुआ।

मैं गनोम के साथ उबंटू 14.04 पर विम 7.4.52 का उपयोग कर रहा हूं।


क्या आप एक ऑपरेटिंग सिस्टम या विंडोिंग वातावरण के लिए प्रश्न को सीमित कर सकते हैं?
२००

@ 200_success ठीक है, मैंने अपने वातावरण को प्रश्न में संपादित किया है।
डॉर्कनोब

मुझे लगता है कि इस सवाल को 'टर्मिनल' भी टैग किया जाना चाहिए। क्या यह अन-एडिटेबल है क्योंकि इसका उत्तर दिया गया है?
bsmith89

जवाबों:


12

जैसा कि @Doorknob ने अपनी टिप्पणी में कहा, :set mouse=aसमस्या को ठीक करता है।


1
क्या बिना सेटिंग के ऐसा करने का कोई तरीका है mouse=a? मैं अपने संपादन प्रवाह को गड़बड़ करने वाले आकस्मिक क्लिक नहीं करना चाहता।
व्रचिन

aमें mouse=aके लिए खड़ा है all(नहीं संलग्न)। से :help mouse: "माउस को विभिन्न मोड के लिए सक्षम किया जा सकता है ... आम तौर पर आप माउस को सभी चार मोडों में सक्षम कर सकते हैं:: माउस सेट करें" a " कम से कम मेरे vim में जब मैंने सक्षम किया कि यह मोड स्विचिंग के साथ गड़बड़ नहीं करता है (बस सक्षम स्क्रॉलिंग - और "लाइन पर जाने के लिए क्लिक करें")
फॉविक्स

2
यद्यपि यह धागा पुराना है, जो किसी ऐसे व्यक्ति के लिए चाहता है जो set mouse=aबिना आकस्मिक क्लिक के प्रवाह को गड़बड़ कर रहा है, :map <LeftMouse> <nop>वह चाल चलेगा।
सनी पुण

0

वह व्यवहार जो आप चाहते हैं, वह मेरी विम पर होता है। मुझे एक सेटिंग नहीं मिल रही है जो इसे चालू / बंद कर दे। शायद जाँच करें : स्क्रॉल करने में मदद करें ? scrolloffशामिल हो सकता है।

आप अंकों को वर्कअराउंड के रूप में उपयोग करने पर भी विचार कर सकते हैं ।

  1. ma (सेट मार्क 'ए')
  2. स्क्रीन को स्क्रॉल करें जैसा आप चाहते हैं
  3. `a ('ए' चिह्नित करने के लिए कर्सर भेजें)

मैं अपने vimrc ( vim -u NONE) को लोड किए बिना भी यह व्यवहार प्राप्त करता हूं । यह गनोम के साथ उबंटू 14.04 पर विम 7.4 है।
Doorknob 23

@Doorknob और मुझे अपने .vimrc( बिना set mouse=a) के चलते हुए कर्सर के बजाय विंडो मिलती है । :help scrollingकहते हैं कि स्क्रॉलिंग का व्यवहार प्लेटफ़ॉर्म विशिष्ट है। मैं OSX पर iterm2 में विम का उपयोग कर रहा हूं।
bsmith89

अहा! :set mouse=aमेरे लिए समस्या तय कर दी है। अपने उत्तर में संपादित करें, और मैं इसे स्वीकार करूंगा। धन्यवाद!
Doorknob 23
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.