2012-09-19 10 views
83

क्या कोई मुझे बता सकता है कि एफ और टी आदेश विम में करते हैं और वास्तव में वे कैसे काम करते हैं? मुझे यह जानकारी नहीं मिल रही है लेकिन लोग मुझे बताते रहते हैं कि वे बहुत उपयोगी हैं। यदि संभव हो तो उदाहरण के साथ वास्तव में एक उत्तर की सराहना करेंगे, धन्यवाद!विम में एफ और टी आदेश क्या करते हैं?

+0

जो लोग कहते हैं कि यह उपयोगी है, क्या वे यह नहीं कहते कि यह किसके लिए उपयोगी है? – Shahbaz

उत्तर

132

इस तरह के प्रश्नों के साथ आपका पहला स्टॉप विम की आंतरिक सहायता, :h f और :h t होना चाहिए। हालांकि, इस मामले में, उन प्रविष्टियों को उदाहरण के बिना थोड़ा सा गूढ़ है। मान लीजिए कि हमें इस लाइन (^ = कर्सर की स्थिति) था:

The quick brown fox jumps over the lazy dog. 
^ 

इन आदेशों एक लाइन पर पात्रों पाते हैं। तो fb यहाँ कर्सर होगा:

The quick brown fox jumps over the lazy dog. 
     ^

tf की तरह है, लेकिन पूर्ववर्ती चरित्र पर कर्सर देता है। तो tb आप देना होगा:

The quick brown fox jumps over the lazy dog. 
     ^

आप f इंडस्ट्रीज़ और t बीमार के रूप में इन आदेशों को याद कर सकते हैं। साथ ही, आप उस चरित्र की nth घटना पर जाने के लिए कमांड को एक संख्या के साथ प्रीपेड कर सकते हैं। उदाहरण के लिए, 3fb कर्सर के दाईं ओर तीसरे बी पर स्थानांतरित होगा। मेरे उदाहरण वाक्य में केवल एक बी है, इसलिए कर्सर बिल्कुल नहीं चलेगा।

+1

बहुत बहुत धन्यवाद, यह सही था, मैं पूरी तरह से भूल गया: एच कमांड यह मेरा पहला सप्ताह विम का उपयोग कर रहा है, यह एक बड़ी मदद धन्यवाद था! – user1023465

+1

'एफबी' करते समय, मुझे बी (रोउन) में ले जाया जाता है। मैं * सीधे * बी (आर) कैसे प्राप्त करूं? क्या एचजेकेएल के बिना कोई रास्ता है? – dangdis

+0

आदेश 'एफ' है, जिसका लक्ष्य 'बी' है। 'fr' आपको ब्राउन में आर में ले जाएगा। –

21

fx लाइन पर अगलेx पर कूदता है।

tx लाइन पर अगलेx से पहले चरित्र पर कूदता है।

आप Fx और Tx का उपयोग पिछलेx तक पहुंचने के लिए कर सकते हैं।

आप लाइन पर दूसरे x पर कूदने के लिए 2fx का उपयोग कर सकते हैं। जब आप कोष्ठक (f() के अगले सेट करने के लिए जल्दी से जाने के लिए या के लिए कर्सर से सब कुछ हटा सकते हैं, लेकिन को छोड़कर, पिछले = (dT=) और इतने पर चाहते

तो, fF और tT उपयोगी होते हैं ...

:h motion.txt देखें। इससे तुम्हारा दिमाग खुल जाएगा।

+0

'2fx' चीज़ का उल्लेख करने के लिए धन्यवाद। मैं हमेशा इसे 'f2x' – Yar

35

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

+2

+1 के साथ भ्रमित करता हूं! 'सीटी,' या 'सीटी) जैसे मुहावरे एक फंक्शन कॉल में एक या आखिरी तर्क को तुरंत बदलने के लिए उपयोग करने में अद्भुत लगते हैं। – progo

+8

मैं 'vt: c' पसंद करता हूं क्योंकि आप हमेशा दिए गए पत्र की प्रत्येक घटना को 100% सही स्थान पर नहीं देखते हैं। 'V' के साथ आप दृश्य चयन, एक अच्छा दृश्य क्यू देख सकते हैं। – Bentley4

+0

मैं नींबू पसंद करता हूं, "कोलन तक बदलें" –

72

बस Michael Kristofik's answer में जोड़ने के लिए, f या t का कोई विवरण का उल्लेख किए बिना पूरा हो गया है;

this Vim cheat sheet से

:

; "दोबारा आने नवीनतम च, टी, एफ या टी [COUNT] बार।"

तो, @ MichaelKristofik की थीम जारी रखने के लिए:

The quick brown fox jumps over the lazy dog. 
^ 

प्रकार fo पहली 'ओ' पर जाने के लिए:

The quick brown fox jumps over the lazy dog. 
      ^

और फिर ; अगले एक पर जाने के लिए:

The quick brown fox jumps over the lazy dog. 
       ^
+0

; टिप बहुत उपयोगी है, हालांकि मुझे नहीं लगता कि यह 'टी' के साथ कैसे काम करता है। मैंने कोशिश की और मैं एक ही स्थिति में फंस गया हूं इससे कोई फर्क नहीं पड़ता कि टी कमांड कितनी बार दोहराया जाता है। –

+0

@ पीटरपेरैक कई बार अर्धविराम प्रेस करें। मेरे लिये कार्य करता है। – LondonRob

+0

@ पीटरपेरैच, मुझे लगता है कि यह टी कमांड के साथ trickier है, क्योंकि एक्स के लिए आगे की खोज करते समय, अर्धविराम हर बार आप एक ही एक्स मिल जाएगा, इस प्रकार, आगे बढ़ना नहीं है। यदि आप एक बार एल मारा और फिर अर्धविराम यह काम करना चाहिए। – mickey

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