vi "अगले X वर्ण तक हटाने के लिए शॉर्टकट"


193

मैं समझता हूं कि vi में विभिन्न विकल्पों के साथ वर्ण, शब्द और रेखाओं को हटाने के लिए शॉर्टकट कुंजियाँ हैं।

हालाँकि, मुझे यह नहीं मिला:

  • कर्सर से अगले निर्दिष्ट वर्ण तक हटाएं

उदाहरण के लिए, मैं du"संपादक से यह उम्मीद कर सकता हूं कि "अगला "चरित्र मिलने तक हटा दें "

निकटतम मुझे पता है d9wकि 9हटाने के लिए शब्दों की संख्या कहां है।

यदि संभव है तो किस प्रकार, क्या कोई जानता है?


यदि आप वीआई और विम में रुचि रखते हैं, तो उनके पास अपनी एसई साइट अब है: वीआई और विम
डेसर्ट

जवाबों:


302

का प्रयोग करें dtc, जहां सी किसी भी चरित्र है, उदाहरण के लिए, आप चाहते हैंdt"

यह अप को हटा देगा लेकिन c सहित नहीं

अगर आप के पास था:

delete until exclamation point!

और कर्सर पहले स्थान पर था और आपने टाइप किया था dt!, आपको मिलेगा:

delete!

इसके अलावा dfc

यह अप और सी सहित को हटा देगा ।

df!ऊपर दिए गए एक ही उदाहरण का उपयोग करने से आपको मिलेगा:

delete

बस किसी भी "गति" के बारे में के लिए इस्तेमाल किया जा सकता d, c, yऔर इसी तरह के आदेशों।


7
संभवत: महामारी "टी" तक है? अच्छा जवाब।
overthink

15
आप आंदोलन कमांड के पूंजीकृत संस्करण के साथ एक चरित्र के पिछले उदाहरण को भी हटा सकते हैं। शायद अल्पविराम के लिए अधिक उपयोगी है - dT,और dF,
joelostblom

3
यह कई लाइनों पर काम नहीं करता है।
0xcaff

3
यह लाइनों की एक सीमा से अधिक किया जा सकता है?
रे

2
लाइनों की एक श्रृंखला के समान कुछ करने के लिए, एक सामान्य खोज (जैसा कि जीप्ल्टन के जवाब में) किया जा सकता है: d/wordखोज तक word। इसे दर्ज करना होगा (खोज को बंद करने के लिए)।
एरिक ओ लेबिगॉट

59
  • चरित्र 'X' प्रकार तक अग्रेषित करने के लिए dtX

  • चरित्र 'X' प्रकार के माध्यम से आगे हटाने के लिए dfX

  • चरित्र 'X' प्रकार के बैकवर्ड को हटाने के लिए dTX

  • चरित्र 'X' प्रकार के माध्यम से पिछड़े को हटाने के लिए dFX


30

इनपुट dt # (a: कमांड नहीं, इसे G जैसे आंदोलन की तरह उपयोग करें)

कर्सर से तब तक हटा देगा जब तक कि # शामिल न हो। आप किसी भी चार्ट को # के लिए स्थानापन्न कर सकते हैं।


2
यह सही जवाब है! df # के साथ ही # डिलीट कर देगा।
Viet

इस के लिए देख रहा है, यह कमाल है
नदीम खेडर

18

ऐसा लगता है कि @Arcege ने पहले ही सवाल का जवाब दे दिया था, लेकिन मैंने d/lचरित्र को हटाने के लिए किया l; अन्य पात्र भी काम करेंगे।


3
यह newlines भर में सामान के लिए काम करता है।
jasonszhao

नोट: इसके बाद एंटर करना होगा।
एरिक ओ लेबिगॉट

6

wनिम्नलिखित शब्द पर जाता है। lनिम्नलिखित कंट्रोलर में जाता है।

तो यह d9lअगले 9 वर्णों को हटाने के लिए है।


2
बंद करें, lविम का दाहिना तीर कुंजी है, इसलिए आप वास्तव में सही हटा रहे हैं। इसके विपरीत, d9h9 वर्णों को हटा दिया जाएगा।
वाल्फ
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.