एक दृश्य चयन के दूसरे छोर को समायोजित करें


14

मुझे लगता है कि यह चयन के वर्तमान टर्मिनस को "स्विच" करने की क्षमता प्रदान करके माउस की दक्षता को भी पार करने के दृश्य चयन सुविधा के लिए अनुमति देगा:

इलस्ट्रेटेड (द |कर्सर का प्रतिनिधित्व करेगा (विम ने इसे जिस चरित्र के बाईं ओर संचालित किया है) और [text]चयनित पाठ का प्रतिनिधित्व करता है, बस दिखावा है कि वे शून्य चौड़ाई लेते हैं। अंतरिक्ष के बीच की जगह [ ]ग्रे दिखती है, और चरित्र तुरंत। निम्नलिखित |हरा है):

के साथ शुरू

Some |text here
Some second line of text
Some more text in the third line 

प्रेस v2j; ध्यान दें कि mचरित्र चयन में शामिल है (यह अब कर्सर द्वारा हाइलाइट किया गया है):

Some [text here
Some second line of text
Some |m]ore text in the third line 

प्रेस 10l:

Some [text here
Some second line of text
Some more text |i]n the third line 

यह इस बिंदु पर है कि मैं तय कर सकता हूं कि मैं एक अलग स्थान से चयन करना शुरू करना चाहता था । जैसे, "Some"पहली पंक्ति पर।

मुझे किसी विशिष्ट संपादक / IDE में कोई विकल्प नहीं मिला है। मुझे शायद अपना हाथ माउस पर ले जाना होगा, आमतौर पर पारंपरिक तरीकों का उपयोग करके पाठ का चयन करना बहुत दर्दनाक होता है, शब्द के माध्यम से Ctrlऔर पेज-अप / डाउन में hopping का उपयोग कुछ हद तक मदद करता है, लेकिन कोई फर्क नहीं पड़ता कि, मुझे क्या करना है चयन शुरू करने से पहले चयन के मेरे समापन बिंदुओं में से एक ।

तो विम में मुझे अपनी वर्तमान स्थिति लेने और एक रहस्य बंधन को मारकर इसे लाने की क्षमता के लिए प्यार होगा:

Some [|text here
Some second line of text
Some more text i]n the third line 

तब मैं सिर्फ हिट कर सकता हूं ^या <Home>(दोनों इस मामले में ऐसा ही करते हैं जहां कोई अग्रणी व्हाट्सएप नहीं है) इसे चालू करने के लिए

[|Some text here
Some second line of text
Some more text i]n the third line 

मैं अपना इरादा बदल कहो फिर से , मैं दूसरे छोर समायोजित करना चाहते हैं!

[Some text here
Some second line of text
Some more text |i]n the third line 

हिट e:

[Some text here
Some second line of text
Some more text i|n] the third line 

सुंदर! मैं इस चयन के साथ अब जो भी चाहता हूं वह कर सकता हूं।

तो क्या है ये मिस्ट्री बाइंडिंग?

इसके अलावा, और भी अधिक संभावित रूप से कुशल कुछ सबसे अधिक इस्तेमाल किए जाने वाले आंदोलन कमांड के लिए कुंजी की एक और पंक्ति के लिए वैकल्पिक बाइंडिंग का एक सेट होगा, और ये (जब दृश्य मोड में) हमेशा चयन के दूसरे छोर को स्थानांतरित करेंगे। तो उस दृश्य मोड चयन ऑपरेशन में, यदि चयन के दूसरे छोर के लिए आंदोलन की कुंजी "यिओओ" पर सेट की गई थी (शायद हम एक अच्छी पसंद नहीं हैं क्योंकि हम जरूरत के अनुसार, yलेकिन सिर्फ मेरे साथ सहन करते हैं) हम टाइप कर सकते हैं

v2j10l5ye

बजाय

v2j10lX^Xe

अरे तुम्हें पता है क्या, कि एक सुधार के भी नहीं है। बस उस एक्स फीचर को गिम करें। :)

सही उत्तर जो मैं देख रहा हूँ:

  • अरे, ऊपर देखो :help some_awesome_vim_feature_that_just_does_this
  • अरे, देखो https://github.com/awesome_user/vim_plugin_that_does_this
  • अरे, देखो :help vimscript_functions_that_allow_mutation_of_visual_selections

मैं विम के साथ इस आकर्षण के लिए बहुत नया हूं, इसलिए जब मैं विमस्क्रिप्ट में आता हूं तो मैं बहुत हरा हूं, और ईमानदारी से मैं अभी तक एक और भाषा सीखने की कोशिश से दूर रहना चाहता हूं , इसलिए उम्मीद है कि मैं इसे बनाने के लिए मजबूर नहीं होऊंगा एक प्लगइन।


ठीक है। अब मुझे नहीं पता कि यहां क्या चल रहा है (सवाल रहस्यमय ढंग से निंजा-एसओ से एसयू में स्थानांतरित हो गया), लेकिन मैंने मूल रूप से एसओ पर यह पोस्ट किया था और मैं वास्तव में वहां रहना पसंद करूंगा। गैर-प्रोग्रामर के लिए सभी उचित सम्मान के साथ, केवल प्रोग्रामर कभी भी टेक्स्ट एडिटिंग के बारे में इतना ध्यान रख सकते हैं । बेशक, विम के सभी उपयोगकर्ता यह सीखने से लाभान्वित हो सकते हैं कि यह कैसे काम कर सकता है, मुझे लगता है कि यह अधिक नेत्रगोलक और वहाँ पर जवाब देने का एक बेहतर मौका होगा जहां प्लगइन देवता हैं।
स्टीवन लू

क्या आप कभी-कभी पढ़ते हैं :help? :help visual-modeआप सहित दृश्य मोड के बारे में सभी जानकारी की आवश्यकता हो सकती है o
रोमेनैल

मैं कभी-कभी इसे पढ़ता हूं, लेकिन यह शायद उसी समय के बारे में ले सकता है जब मैंने अपने विचारों को लिखा। यह मदद स्ट्रिंग क्या है, यह अनुमान लगाने की तुलना में अधिक निश्चित है।
स्टीवन लू

सीखना अनुमान लगाने से बेहतर है। हेपटाइट के जवाब ने आपको दो चीजें सिखाईं , क्या आप उनका नाम ले सकते हैं?
रोमेनिल

हाँ, मेरा मतलब है कि बहुत सारी चीज़ें सीखी जानी हैं लेकिन मैं पहले ही भूल चुका हूँ कि Oकैपिटल ओ क्या करता है, लेकिन मुझे याद होगा o। दूसरी बात जिसका आप जिक्र कर रहे हैं, वह शायद :helpअधिक उपयोग करती है । और जब मैंने शुरू किया था तब से अधिक मैं इसका उपयोग कर रहा हूं।
स्टीवन लू

जवाबों:


49

मुझे यकीन नहीं है कि मैं वास्तव में समझ रहा हूं कि आप क्या चाहते हैं, लेकिन शायद यह है:

:help v_o

मूल रूप से, जबकि पाठ नेत्रहीन रूप से हाइलाइट किया जाता है, आप इसे दबा सकते हैं oऔर यह दृश्य क्षेत्र के अन्य "अंत" पर बिना किसी संशोधन के कूद जाएगा।


2
पवित्र बकवास, हाँ !!! इससे भी बेहतर है कि मैंने उम्मीद की थी, यह पहले से ही एक एकल कुंजी से बंधा हुआ है , इसलिए Xऊपर वास्तव में हैo
स्टीवन लू

1
मुझे यह भी इंगित करने की अनुमति दें कि राइट क्लिक माउस (यदि आपके पास आपके टर्मिनल को विम के माध्यम से इसे पास करने के लिए कॉन्फ़िगर किया गया है) समझदारी से इसे वर्तमान दृश्य चयन के निकटतम छोर को समायोजित करने देगा जहां कर्सर है। यह चयन क्षेत्र को समायोजित करने के लिए बहुत कम दर्द-उत्प्रेरण विधि बनाता है क्योंकि यह चयन के विपरीत छोर के स्थान को दूर नहीं करता है।
स्टीवन लू

@StevenLu: यह वैसे भी दूर नहीं फेंका जाता है। आप oफिर से टैप कर सकते हैं और वापस जा सकते हैं।
Heptite

@StevenLu यह संभवतः स्वीकृत उत्तर होना चाहिए, यह देखते हुए कि यह न केवल आपकी समस्या को हल करता है, एक टन तक होता है, यह भी वही हुआ जो मुझे पहले Google परिणाम पर चाहिए था, और वास्तव में किसी के द्वारा प्रस्तुत एकमात्र उत्तर है ...
किंग्डन

हां, मुझे लगता है कि मैंने इसे कभी स्वीकार नहीं किया क्योंकि यह इतनी तेज़ी से पोस्ट किया गया था कि मुझे इसे अभी तक करने की अनुमति नहीं थी, और मैं लगभग पांच वर्षों से इस विम सुविधा का उपयोग कर रहा हूं, कभी भी खुद को याद दिलाने की आवश्यकता नहीं है कि क्या है कुंजी है, क्योंकि यह याद रखना आसान है।
स्टीवन लू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.