शून्य अंतिम कमांड को विम में दोहराएं


13

मैंने देखा है कि विम बहुत सहज हो सकता है, लेकिन मुझे दूसरी-टू-लास्ट कमांड (या थर्ड-टू-लास्ट, फोर्थ-टू-लास्ट, आदि) को दोहराने का तरीका खोजने में परेशानी हो रही है। .सामान्य मोड में टाइप करके यह अंतिम कमांड को दोहराएगा। दबाने 3.से आखिरी कमांड तीन बार दोहराएगा।

के मैं टाइप मान लीजिए oHello<Esc>तो A, World!<Esc>। मैं अब मिलता हूं

Hello, World!

स्क्रीन पर। अब, मैं कहना चाहता हूं

Hello, World!
Hello
Hello
Hello

बिना टाइप किए नमस्कार। क्या विम एक कमांड से आगे इतिहास स्टोर करता है, इसलिए मैं कुछ टाइप कर सकता हूं 3,2.(यानी दूसरी-से-आखिरी कमांड को तीन बार दोहराना)?


2
याद रखें कि आप किसी भी चीज़ को मैक्रो के रूप में रिकॉर्ड कर सकते हैं ( qaoHello<esc>qफिर जब चाहें @aदोहराने के लिए Hello।) @@अंतिम उपयोग किए गए मैक्रो को दोहराने के लिए भी है।
जेम्स मैकलॉघलिन

2
मुझे लगता है कि आप 3@aमैक्रो को कई बार दोहराने के लिए भी कर सकते हैं
redbmk

जवाबों:


8

नहीं, .कमांड में vimकोई इतिहास नहीं है और न ही सामान्य मोड कमांड के लिए किसी प्रकार का दोहराव इतिहास है, जिससे मैं अवगत हूं। कीस्ट्रोक्स की सबसे कम संख्या के लिए, मैं सुझाऊंगा 4oHello<Esc>3jA, World<Esc>। यदि आप पहले ही कर चुके हैं oHello<Esc>A, World<Esc>, तो आप इसके साथ अनुसरण कर सकते हैं uyy<Ctrl-r>3p


4

इस प्लगइन को RepLast.vim कहा जाता है जो वह करता है जिसे आप लागत के साथ चाहते हैं: आपका विम हमेशा मैक्रो मोड रिकॉर्डिंग में है। आप इसे ऐसे पैकेज मैनेजर के साथ स्थापित कर सकते हैं, जिसका उपयोग आप किसी अन्य vim पैकेज की तरह कर रहे हैं या आप इसे क्लोन कर सकते हैं और इसे ड्रॉप कर सकते हैं ~/.vim/pluginयदि आप vim का उपयोग कर रहे हैं या ~/.config/nvim/plguinयदि आप neovim का उपयोग कर रहे हैं। दूसरी से अंतिम क्रिया को दोहराने के लिए आपको 2\.सामान्य मोड में टाइप करना चाहिए और अंतिम क्रिया के लिए वें को <n>\.सामान्य मोड में टाइप करना चाहिए ।

http://www.vim.org/scripts/script.php?script_id=4381 https://github.com/vim-scripts/RepeatLast.vim


2
@ सासन, क्या आप शायद अपना उत्तर संपादित कर सकते हैं और जल्दी से समझा सकते हैं कि इस प्लगइन को कैसे स्थापित किया जाए, और ओपी की समस्या को हल करने के लिए इसका उपयोग कैसे किया जा सकता है?
terdon

2
@terdon अगर कोई मेरे उत्तर को पढ़ता है और यह नहीं जानता है कि पैकेज प्रबंधक का उपयोग कैसे किया जाए तो यह वास्तव में उसके लिए बेहतर है कि वह उत्सुक हो जाए और समय बिताए और पैकेज प्रबंधकों के बारे में जानें। उसी के लिए जो इसे पढ़ता है और विम प्लग के लिए डॉक्स / README.md से जानकारी प्राप्त करने के बारे में नहीं जानता है।
सासन

ये मुद्दा नहीं है। एक उत्तर जो सिर्फ एक कड़ी है उसे उत्तर नहीं माना जाता है । उत्तर स्व-निहित होना चाहिए और प्रस्तावित समाधान को लागू करने के लिए आवश्यक सभी जानकारी प्रदान करना चाहिए। संपादन के लिए धन्यवाद!
terdon

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