कमांड लाइन मोड के साथ कैसे काम करें vi तरीका?


10

क्या घर की स्थिति में रहने के दौरान कमांड-लाइन मोड के साथ बातचीत करने का कोई तरीका है?

विशेष रूप से, निम्नलिखित दो क्रियाएं बोझिल हैं, जिससे उंगलियों को तीर की चाबियों से दूर ले जाने की आवश्यकता होती है और कभी-कभी माउस खराब हो जाता है।

  1. चारों ओर घूमना: क्या सामान्य स्थिति में रहते हुए कमांड-लाइन मोड में आगे और पीछे जाने का एक तरीका है?
  2. आप कमांड-लाइन पर कॉपी और पेस्ट कैसे कर सकते हैं? मेरा मतलब है कि कमांड-लाइन के एक हिस्से से दूसरे हिस्से में, या टेक्स्ट या यहां तक ​​कि क्लिपबोर्ड से दोनों की नकल करना।

1
दोनों को कमांड-लाइन विंडो का उपयोग करके हल किया जा सकता है :q; यह एक नया "बफर- hjkly
लाइक

1
@Carpetsmoker (आपका मतलब है q:, ठीक है?) जानने के लिए अच्छा है! मैं गलती से अतीत में वहां पहुंच गया था, लेकिन वास्तव में इसके इस्तेमाल के बारे में नहीं सोचा था। यह /(खोज) के साथ काम करने के लिए प्रतीत नहीं होता है ।
शाहबाज

उफ़, हां, मेरा मतलब था q: ... मैंने कभी इसका उपयोग नहीं किया, इसलिए मैं आपको पूर्ण / उचित उत्तर नहीं दे सकता ...
मार्टिन टूरनोइज

जवाबों:


17

वहां कमांड-लाइन (जिसे आप जानते हैं), और वहां कमांड-लाइन विंडो (एक विशेष बफर में कमांड-लाइन, जिसे आप किसी अन्य की तरह संपादित कर सकते हैं)। आप या तो के माध्यम से इस प्रवेश <C-f>कमांड लाइन (भी के लिए से /जब आप अधिक "संपादन शक्ति" के लिए जरूरत महसूस खोजें आदि) सीधे सामान्य मोड से समर्पित के माध्यम से, या q:, q/आदि आदेशों।

पर इस बारे में अधिक पढ़ें :help command-line-window


4
<C-f>यह जानने के लिए बहुत उपयोगी है, क्योंकि यह आपके द्वारा कमांड के माध्यम से पहले से ही आधे रास्ते में काम करता है।
शाहबाज

1
मैं सहमत हूँ; :मेरे लिए लगभग स्वचालित रूप से आता है, इसलिए सामान्य मोड पर वापस जाने के बिना स्विच करने में सक्षम होना अच्छा है।
इंगो करकट

11

कमांड-लाइन विंडो प्रदान करने के अलावा , विम कुछ सीमित सुविधाएं भी प्रदान करता है जो आपको कमांड-लाइन मोड ( तीर कुंजियों का उपयोग किए बिना ) में कमांड-लाइन के साथ बातचीत करने की अनुमति देता है ।

आंदोलन

  • <ctrl-b> कर्सर को कमांड-लाइन की शुरुआत में ले जाएं
  • <ctrl-e> कर्सर को कमांड-लाइन के अंत में ले जाएँ

संपादन

  • <ctrl-h> कर्सर से पहले वर्ण को हटाएं (बैकस्पेस की तरह)
  • <ctrl-w> कर्सर से पहले शब्द हटाएं
  • <ctrl-u> कमांड-लाइन की शुरुआत में कर्सर से वापस आने के सभी रास्ते हटा दें

आप निश्चित रूप से कुछ अन्य कार्यक्रमों की नेविगेशन कुंजियों:cnoremap का अनुकरण करने के लिए कमांड-लाइन मैपिंग जोड़ सकते हैं । या वास्तविक तथ्य मानक रीडलाइन बाइंडिंग का उपयोग करने के लिए टिम पोप के आरएसआई प्लगइन स्थापित करें।

चिपकाने

आप किसी भी रजिस्टर की सामग्री को कमांड-लाइन में कर्सर की स्थिति में पेस्ट कर सकते हैं, <ctrl-r>उसके बाद रजिस्टर को निर्दिष्ट करने वाले चरित्र को दबाकर । उदाहरण के लिए <ctrl-r>, +क्लिपबोर्ड की सामग्री को कमांड-लाइन में सम्मिलित करेगा; <ctrl-r>, ""अनाम" रजिस्टर (यानी आपके अंतिम डिलीट या यान की सामग्री) की सामग्री सम्मिलित करेगा।

:help cmdline.txtउपरोक्त सभी विवरणों के लिए देखें ।


1
बहुत बढ़िया! <ctrl-r>विशेष रूप से उपयोगी होगा।
शहबाज

हां, मैंने ^Rमैक्रों के लिए भी इस्तेमाल किया है। यह मुझे मैक्रो के दौरान फ़ाइल के भाग yanking द्वारा पाठ के सुपर मुश्किल जोड़तोड़ करते हैं, और बाद में, मैक्रो के दौरान एक लंबी पूर्व-मोड कमांड में yanked भाग का उपयोग करके भी ^R। :)
वाइल्डकार्ड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.