2012-12-04 13 views
7

मुझे पता है कि माउसफोकस विकल्प केवल जीवीआईएम में काम करना है। लेकिन मैं सोच रहा था, अगर माउस क्लिक के जवाब में कंसोल विम स्विच अलग-अलग खिड़कियों पर स्विच करना संभव है, तो क्या यह आसानी से निम्नलिखित माउस आंदोलन भी जोड़ना संभव नहीं होगा?फोकस माउस का पालन करें vim

मैं एक एक्सोनैड उपयोगकर्ता हूं, मुझे सूचक सुविधा के बाद फोकस पसंद है, मैं वीम में लिखते समय बहुत सी पीडीएफ देखने और ब्राउज़िंग करता हूं, और अगर मुझे रखने की ज़रूरत नहीं है तो मैं बहुत खुश रहूंगा मानसिक रूप से दो अलग-अलग प्रकार के फोकस बदलने के बीच मानसिक रूप से स्विचिंग।

यदि यह पूरी तरह से संभव नहीं है, तो मुझे लगता है कि टर्मिनल के नए उदाहरणों में नई विम विंडो (जैसे: विभाजित) खोलना आसान नहीं है?

उत्तर

4
set mouse=a 

चाल करना चाहिए लेकिन यह शायद आपके टर्मिनल एमुलेटर पर निर्भर करेगा। :help 'mouse' देखें।

+1

अभी भी खिड़की का चयन करने के लिए माउस पर क्लिक करने की आवश्यकता है, सवाल यह था कि विंडो में क्लिक करने के लिए पॉइंटर के नीचे विंडो को कैसे चुना जाए। – qqx

+0

हम्म, आप सही हैं। और आपका जवाब एक उत्थान हो जाता है। – romainl

9

यह जोड़ने के लिए बिल्कुल आसान नहीं होगा। टर्मिनल कार्यों के भीतर माउस का प्रयोग टर्मिनल को नियंत्रण कोड भेजकर vim द्वारा किया जाता है ताकि माउस क्रिया इनपुट स्ट्रीम के हिस्से के रूप में भेजी जा सके। टर्मिनल केवल पॉइंटर स्थिति में परिवर्तनों की रिपोर्ट नहीं करते हैं, इसलिए वीम के पास यह जानने का कोई तरीका नहीं है कि माउस कहां है।

बड़े बदलावों के साथ एक्स एक्स के साथ सीधे एक्स सर्वर से पॉइंटर गतिविधि प्राप्त करने के लिए एक विम के लिए संभव होगा, लेकिन संभवतः चरित्र के बजाय पिक्सेल द्वारा इसकी सूचना दी जाएगी ताकि आगे काम करने से पहले यह निर्धारित कर सकता है कि वर्तमान में कौन सी विम विंडो सूचक के नीचे है।

+0

उत्तर के लिए धन्यवाद। मुझे लगता है कि मुझे पता है कि इस तरह के बदसूरत तरीके से कैसे काम करना है। अगर मैं कुछ भी उपयोग करने योग्य हूं तो मैं इसे यहां पोस्ट करूंगा। –

+0

स्क्रॉलिंग urxvt और xterm में काम करता है। –

+0

@ErcanErden स्क्रॉलिंग प्रासंगिक कैसे है? मेरे लिए यह इस तरह से काम नहीं करता है कि इस सवाल से प्रासंगिक है; स्क्रॉल व्हील का उपयोग करके विम विंडो को स्क्रॉल किया जाता है जिसे पॉइंटर खत्म होने वाला नहीं चुना गया था। – qqx

0

यह विंडोज 7 के लिए काम करता है/Cygwin 32 बिट mintty/vim 7.3: चयन करने के लिए क्लिक करने की अपेक्षा बिना http://ehiti.de/katmouse/, मैं अपने कर्सर के अंतर्गत खिड़की स्क्रॉल कर सकते हैं: (! मैं जाँचने का उपयोग नहीं करते)

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

तो:
जांचें कि क्या आपके वितरण के लिए सॉफ़्टवेयर पैकेट मौजूद है, जो ओएस स्तर पर आपके वांछित माउस व्यवहार को लागू करता है। जब यह साइगविन में अपने स्वयं संकलित विम के लिए काम करता है, तो यह लिनक्स पर कंसोल विम के साथ भी बहुत अच्छा काम कर सकता है।

यह पोस्ट यहां सबूत के रूप में कार्य करता है, कि यह संभव है, यही वजह है कि इस पर टिप्पणी नहीं की गई थी। जब मैं फिर से लिनक्स पर हूं, तो मैं इसकी जांच करूँगा और इस पोस्ट को अपडेट करूँगा, लेकिन इसमें कुछ समय लग सकता है।

set mouse=a पर: विम सहायता आपको माउस इनपुट को संभालने में सक्षम टर्मिनल की आवश्यकता बताती है, और जानकारी here मिल सकती है। :help ttymouse सहायक भी हो सकता है, यानी यदि आपके पास xterm-compliant console है, लेकिन :help term किसी और चीज़ पर सेट है।


अद्यतन: (। हाल में संकुल के साथ स्थापित फेडोरा 19, कोई आत्म संकलित सामान)

फेडोरा 19 + se mouse=a = स्वतंत्र रूप से एक दूसरे के बगल खोला कई बफ़र्स के साथ एकल सांत्वना vim विंडो में स्क्रॉल काम करता है, भी। इस्तेमाल किया गया विंडो प्रबंधक एलएक्सडीई है।

+0

क्या आप यह vim विंडोज़ के लिए काम करते हैं (जहां एक ही ओएस-स्तरीय विंडो में कई फाइलें खुलती हैं) या बस ओएस-स्तरीय विंडो? मुझे आश्चर्य होगा कि अगर कुछ मनमाना कार्यक्रम विम खिड़कियों के लिए काम करेगा। – qqx

+0

@qqx मैंने जिस व्यवहार का वर्णन किया है, वह तब काम करता है जब एक टर्मिनल एमुलेटर विंडो (mintty.exe का उपयोग किया जाता है) खोला जाता है, कंसोल विम इसके अंदर चल रहा है। कंसोल विम के पास कई खिड़कियां हैं जो एक तरफ खुलती हैं। जब तक कैटमाउस चल रहा है, तो माउस कर्सर प्रश्न में विम विंडो की सीमाओं के भीतर है, तो मैं प्रत्येक विम विंडो को स्क्रॉल कर सकता हूं। स्क्रीन या tmux की तरह कुछ उपयोग नहीं किया जाता है। 'से माउस = ए 'की आवश्यकता है। – sjas

संबंधित मुद्दे