खोज…
खोज कर
पात्रों के लिए कूदते हुए
f {char} - उसी लाइन पर कर्सर के दाईं ओर {char} की अगली घटना पर जाएं
F {char} - उसी लाइन पर कर्सर के बाईं ओर {char} की अगली घटना पर जाएं
t {char} - उसी लाइन पर कर्सर के दाईं ओर {char} की अगली घटना के बाईं ओर जाएं
T {char} - उसी लाइन पर कर्सर के बाईं ओर {char} की अगली घटना के दाईं ओर जाएं
'परिणाम' के माध्यम से आगे / पीछे कूदें ; और,।
इसके अलावा आप पूरे शब्दों को /<searchterm>
माध्यम से खोज सकते हैं /<searchterm>
दर्ज करें ।
तार की खोज
* - कर्सर के नीचे शब्द की अगली घटना के लिए कदम
# - कर्सर के नीचे शब्द की पिछली घटना के लिए कदम
/ searchterm
Enter आपको अगले मैच (आगे-खोज) में लाता है। यदि आप उपयोग करते हैं ? / के बजाय, खोज पीछे की ओर जाती है।
N (अगले) और N (पिछले) के माध्यम से मैचों के बीच कूदें।
अपनी पिछली खोजों को देखने / संपादित करने के लिए, ऊपर तीर कुंजी दबाएं / मारें।
सहायक भी ये सेटिंग्स हैं: (नोट :se
बराबर है :set
)
-
:se hls
, सभी खोज मैचों पर प्रकाश डालता है; उपयोग:noh
अस्थायी रूप से खोज / चिह्न हाइलाइटिंग बंद करने के लिए (:set noh
या:set nohls
बंद हो जाता है।) -
:se is
or:set incs
बदल जाता है वृद्धिशील खोज पर, कर्सर स्वचालित रूप से अगले मैच के लिए कूदता है। (),:se nois
बंद हो जाता है।) -
:se ic
इग्नोरकेस, केस सेंसिटिविटी को बंद कर देता है। (:se noic
फिर:se noic
चालू होता है।" -
:se scs
ses SmartCaSe, का उपयोग तब किया जा सकता है जब IgnoreCase सेट होता है; मामला बनाता है (में) संवेदनशीलता स्मार्ट ! जैसे/the
के लिए खोज करेंगे , , , आदि, जबकिthe
The
ThE
/The
के लिए ही दिखेगा ।The
बेसिक मोशन
टिप्पणियों
- प्रत्येक गति का उपयोग ऑपरेटर कमांड के बाद किया जा सकता है, इसलिए कमांड पाठ पर संचालित होता है जिसमें आंदोलन की पहुंच शामिल होती है।
- ऑपरेटर आदेशों की तरह, गतियों में एक गिनती शामिल हो सकती है, इसलिए आप उदाहरण के लिए, 2w ऑर्ड्स से जा सकते हैं।
तीर
विम में, सामान्य तीर / कर्सर कुंजियों अपेक्षा के अनुरूप (← ↓ ↑ →) काम करते हैं। हालांकि, टच-टाइपर्स के लिए, एच जे के एल वैकल्पिक कुंजी का उपयोग करना आसान है। एक विशिष्ट कीबोर्ड पर, वे एक ही पंक्ति में एक दूसरे के बगल में स्थित होते हैं, और दाहिने हाथ का उपयोग करके आसानी से सुलभ होते हैं। याद रखने की तकनीक जो उनमें से है, जो इस प्रकार है:
- h / l - वे कीबोर्ड पर चार अक्षरों के बीच "सबसे बाईं ओर / दाईं ओर" स्थित हैं, इसलिए वे क्रमशः "बाएं / दाएं" जाने के बराबर हैं;
- j - लोअरकेस "j" में एक छोटे तीर की तरह, विशिष्ट अक्षरों के नीचे "पूंछ" होती है - इसलिए यह "नीचे जाने" के बराबर है;
- k - इसके विपरीत, लोअरकेस "k" का अपना "एस्केन्डर" होता है, जो एक छोटे पॉइंटर की तरह, विशिष्ट अक्षरों के ऊपर "ऊपर" होता है, इसलिए यह "ऊपर जाने" के बराबर होता है।
मूल गतियाँ
नीचे दिए गए सभी कमांड को सामान्य मोड में किया जाना चाहिए।
आदेश | विवरण |
---|---|
एच या बाएं | जाने [गिनती] अक्षर बाईं ओर |
जम्मू या नीचे | जाओ [गिनती] नीचे अक्षर |
k या ऊपर | ऊपर दिए गए वर्णों की गणना करें |
एल या सही | [ सही ] वर्णों को गिनें |
gg | यदि दी जाए तो पहली पंक्ति, या [गणना] line पंक्ति ’पर जाएं |
एच | दृश्य स्क्रीन में पहली पंक्ति पर जाएं |
म | दृश्य स्क्रीन में मध्य रेखा पर जाएं |
एल | दिखाई स्क्रीन में अंतिम पंक्ति पर जाएं |
जी | यदि दी जाए तो अंतिम पंक्ति, या [गणना] last पंक्ति ’पर जाएं |
घर या ० | रेखा के पहले किरदार पर जाएं |
^ | लाइन के पहले गैर-रिक्त वर्ण पर जाएं |
+ | पहले गैर-रिक्त वर्ण के लिए एक पंक्ति नीचे जाएं |
- | पहले गैर-रिक्त वर्ण के लिए एक पंक्ति ऊपर जाएं |
$ या अंत | पंक्ति के अंत में जाएं (यदि [गिनती] दी गई है, तो [गिनती - 1] पंक्तियों को नीचे जाएं) |
| | वें चरित्र को [गिनती] 'जा सकते हैं या यदि पंक्ति के आरम्भ में जाना count निर्दिष्ट नहीं |
च {} चार | दाहिने समावेश के लिए {char} की [गणना] 'वीं घटना' पर जाएं |
एफ {} चार | बाईं ओर समावेशी {चार} की [गणना] की घटना |
टी {} चार | सही अनन्य के लिए {char} की [गिनती] 'घटना' पर जाएं |
टी {} चार | बाईं अनन्य करने के लिए {चार} का वीं घटना [गिनती] के जाना |
; | नवीनतम एफ , टी , एफ या टी [गिनती] बार दोहराएं |
, | विपरीत दिशा में नवीनतम एफ , टी , एफ या टी को दोहराएं, [गिनती] बार |
w | अगले शब्द की शुरुआत में जाएं |
ख | पिछले शब्द की शुरुआत में जाएं |
इ | अगले शब्द के अंत में जाएं |
जीई | पिछले शब्द के अंत में जाएं |
% | मेल खाने वाली जोड़ियों में जाएं, जैसे (), [], {} , /* */ या #if, #ifdef, #else, #elif, #endif |
{ } | पिछला / अगला पैराग्राफ |
[{ ]} | ब्लॉक की शुरुआत / समाप्ति |
'{} चार | चिह्न पर जाएँ ( m {char} के साथ चिह्न) |
<CB> <CF> | पिछला / अगला पृष्ठ |
<CO> <CI> | "जंप सूची" में वापस जाएं या फ़ॉवर्ड करें ( jumplist सुविधा की आवश्यकता है, देखें :help jumps jumplist :help jumps ) |
नोट: b , e , और w किसी शब्द को अक्षरों, संख्याओं और अंडरस्कोर को डिफ़ॉल्ट रूप से iskeyword
(इसे iskeyword
सेटिंग से कॉन्फ़िगर किया जा सकता है)। इनमें से प्रत्येक को पूंजीकृत भी किया जा सकता है, जिससे उन्हें व्हाट्सएप के साथ-साथ कुछ भी नहीं छोड़ना चाहिए।
नोट: विम दो तरह के मूवमेंट को पहचानता है: ऑपरेटर मूवमेंट ( :help movement
) और जंपर्स ( :help jumplist
)। परिवर्तन के रूप में g
( gg
, G
, g,
) के साथ निष्पादित होने वाले आंदोलनों को कूद के रूप में गिना जाता है। परिवर्तनों को अपना स्वयं का जम्पलिस्ट मिलता है, जो कि जैसा कि g,
माध्यम से ऊपर वर्णित है g,
और g;
(देखें :help changelist
)। विम द्वारा गति कमांड के रूप में छलांग नहीं लगाई जाती है
जब लाइनों के ऊपर या नीचे जा रहा है, तो कर्सर अपने स्तंभ को बरकरार रखता है जैसा कि अपेक्षित होगा। यदि नई लाइन बहुत छोटी है तो कर्सर नई लाइन के अंत में चला जाता है। यदि स्तंभ पंक्ति के अंत से परे है, तो कर्सर को पंक्ति के अंत में प्रदर्शित किया जाता है। प्रारंभिक कॉलम संख्या को तब तक बरकरार रखा जाता है जब तक कि इसे बदलने के लिए कोई कार्रवाई नहीं की जाती (जैसे कि पाठ संपादित करना या स्पष्ट रूप से स्तंभ हिलना)।
यदि एक पंक्ति की लंबाई स्क्रीन की चौड़ाई से अधिक है, तो पाठ लपेटा जाता है (डिफ़ॉल्ट सेटिंग्स के तहत, यह व्यवहार कॉन्फ़िगर किया जा सकता है)। स्क्रीन पर प्रदर्शित लाइनों के बजाय स्क्रीन पर प्रदर्शित लाइनों के माध्यम से जाने के लिए, सामान्य कमांड के सामने जी जोड़ें। उदाहरण के लिए, gj कर्सर को उसकी वर्तमान स्थिति से एक रेखा नीचे प्रदर्शित स्थिति में ले जाएगा, भले ही यह फ़ाइल की एक ही पंक्ति में हो।
पैटर्न के लिए खोज
विम एक फ़ाइल के माध्यम से खोज करते समय नियमित अभिव्यक्ति के उपयोग का समर्थन करता है।
यह दर्शाने के लिए कि आप खोज करना चाहते हैं /
।
सबसे सरल खोज जो आप कर सकते हैं, वह निम्नलिखित है
/if
यह if
सभी उदाहरणों के लिए पूरी फ़ाइल को खोजेगा। हालांकि, हमारी खोज if
वास्तव में एक नियमित अभिव्यक्ति है जो शब्द की किसी भी घटना से मेल खाएगी if
अन्य शब्दों के अंदर शामिल हैं।
उदाहरण के लिए, हमारी खोज यह कहेगी कि निम्नलिखित सभी शब्द हमारी खोज से मेल खाते हैं: if
, spiffy
, endif
, आदि।
हम अधिक जटिल नियमित अभिव्यक्तियों का उपयोग करके अधिक जटिल खोज कर सकते हैं।
यदि हमारी खोज थी:
/\<if\>
तब हमारी खोज केवल पूर्ण शब्द पर सटीक मिलान लौटाएगी if
। उपरोक्त spiffy
और endif
खोज से नहीं endif
, केवल if
।
हम श्रेणियों का उपयोग भी कर सकते हैं। एक फ़ाइल दी:
hello1
hello2
hello3
hello4
यदि हम उन पंक्तियों की खोज करना चाहते हैं जिनमें "हैलो" है, जिसके बाद 1 और 3 के बीच एक अंक होगा, तो हम कहेंगे:
/hello[1-3]
एक और उदाहरण:
/(?:\d*\.)?\d+
फ़ाइल में पूर्णांक और दशमलव संख्या के सभी मिल जाएगा।
किसी विशिष्ट शब्द की शुरुआत में नेविगेट करना
पाठ को संपादित करते समय, एक सामान्य कार्य स्क्रीन पर किसी विशेष शब्द पर नेविगेट करना है। इन उदाहरणों में हम पता लगाते हैं कि हम updated
गए शब्द पर कैसे नेविगेट कर सकते हैं। उदाहरणों में निरंतरता के लिए, हम शब्द के पहले अक्षर पर उतरने का लक्ष्य रखते हैं।
मिड स्क्रीन जंप
म $ ब
यह दृष्टिकोण त्वरित है, केवल 3 कीस्ट्रोक्स का उपयोग करके। हालांकि नुकसान यह है कि यह बहुत सामान्य नहीं है, क्योंकि स्क्रीन के बीच में सही लेट होने के लिए हमारी लक्ष्य रेखा का होना आम नहीं है। फिर भी, कम दानेदार आंदोलनों को बनाते समय यह एक उपयोगी गति है।
एक गिनती का उपयोग करना
3j एफ यू ; ;
पहली नज़र में, यह कीस्ट्रोक्स की संख्या के कारण पहले दृष्टिकोण से एक कदम पीछे दिखाई दे सकता है। लेकिन चूंकि हम एम के बजाय यहां एक गिनती का उपयोग करते हैं, इसलिए यह अधिक लचीला है। यदि relativenumber सक्षम है, तो हम जल्दी से सही गणना की पहचान कर सकते हैं। के साथ संयोजन में एफ का उपयोग करते हुए, लक्ष्य शब्द पर जाने के लिए ; आश्चर्यजनक रूप से प्रभावी हो सकता है - और निश्चित रूप से बार-बार दबाने वाले डब्ल्यू से बेहतर है। यदि आप अपने लक्ष्य के साथ निरीक्षण करते हैं ; , आप के साथ पीछे की ओर जा सकते हैं ,
स्पष्ट खोज
/ अप एन एन दर्ज करें
के माध्यम से नेविगेट करना / बहुत शक्तिशाली हो सकता है। हम अक्सर इसे टाइप करके सीधे अपने लक्ष्य शब्द पर जा सकते हैं। यहाँ हम केवल पहले दो अक्षरों को इस उम्मीद में टाइप करते हैं कि यह हमारे शब्द से विशिष्ट रूप से मेल खाता है। दुर्भाग्य से, कई मैच हैं, लेकिन हम जल्दी से n के साथ अगले मैच में कूद सकते हैं।
अव्यक्त खोज
/ y स्पेस w दर्ज करें
कुछ मामलों में, इसे सीधे जाने के लिए लक्षित करने के बजाय हमारे लक्ष्य के पास कूदना अधिक कुशल हो सकता है। यहाँ हम निरीक्षण करते हैं कि लक्ष्य के ठीक बगल में एक अनंत रूप से होने वाला अक्षर है, y
। हम अपने खोज शब्द में एक स्पेस जोड़ सकते हैं ताकि हम रास्ते में कुछ और y
कैरेक्टर को मार सकें। यह f {char} के साथ भी बहुत प्रभाव के लिए इस्तेमाल किया जा सकता है, उदाहरण के लिए एक गिनती का उपयोग करके ।
मार्क का उपयोग करने के लिए चारों ओर ले जाने के लिए
चिह्न बुकमार्क की तरह होते हैं; वे आपको उन स्थानों को खोजने में मदद करते हैं जो आप पहले से ही कर चुके हैं।
TLDR
उन्हें m{a-zA-Z}
साथ सामान्य मोड में सेट करें, और '{a-zA-Z}
(एकल उद्धरण) या `{a-zA-Z}
(backtick) के साथ सामान्य या दृश्य मोड में कूदें। लोअरकेस अक्षर एक बफर के भीतर के निशान के लिए हैं, और कैपिटल अक्षर और अंक वैश्विक हैं। अपने वर्तमान में सेट किए गए निशान देखें :marks
, और अधिक जानकारी के लिए देखें :help mark
।
एक निशान सेट करें
विम की मदद में कहते हैं:
m{a-zA-Z} Set mark {a-zA-Z} at cursor position (does not move
the cursor, this is not a motion command).
निशान किस लाइन और स्तंभ पर रखा गया था, इसका ट्रैक रखेगा। कोई दृश्य पुष्टि नहीं है कि कोई चिह्न सेट किया गया था, या यदि किसी चिह्न का पिछला मान था और उसे अधिलेखित कर दिया गया है।
एक निशान के लिए कूदो
विम की मदद में कहते हैं:
Jumping to a mark can be done in two ways:
1. With ` (backtick): The cursor is positioned at the specified location
and the motion is exclusive.
2. With ' (single quote): The cursor is positioned on the first non-blank
character in the line of the specified location and
the motion is linewise.
बैकटिक कॉलम स्थिति का उपयोग करता है, जबकि एकल-उद्धरण नहीं करता है। यदि आप चाहते हैं तो बस आपके बीच के चिह्न की कॉलम स्थिति को अनदेखा करने की अनुमति देता है।
आप सामान्य मोड के अलावा दृश्य मोड में गैर-वैश्विक अंकों के बीच कूद सकते हैं, निशान के आधार पर पाठ का चयन करने की अनुमति देने के लिए।
ग्लोबल मार्क्स
वैश्विक चिह्न (बड़े अक्षर) फाइलों के बीच कूदने की अनुमति देते हैं। अगर, उदाहरण के लिए, निशान क्या है कि मतलब है A
में स्थापित किया जाएगा foo.txt
, से तो bar.txt
(मेरी फाइल सिस्टम में कहीं भी), अगर मैं चिह्नित करने के लिए कूद A
, मेरे वर्तमान बफर से बदल दिया जाएगा foo.txt
। विम परिवर्तन को बचाने के लिए संकेत देगा।
किसी अन्य फ़ाइल में एक निशान के लिए कूदना एक आंदोलन नहीं माना जाता है, और दृश्य चयन (अन्य चीजों के बीच) एक बफर के भीतर चिह्नित करने के लिए कूदने की तरह काम नहीं करेगा।
पिछली फ़ाइल (इस मामले में bar.txt
) पर वापस जाने के लिए, उपयोग करें :b[uffer] #
(अर्थात :b#
या :buffer#
)।
ध्यान दें:
विशेष चिह्न
कुछ निश्चित निशान हैं जो विम स्वचालित रूप से सेट हो जाते हैं (जो आप अपने आप को अधिलेखित करने में सक्षम हैं, लेकिन शायद इसकी आवश्यकता नहीं होगी)।
उदाहरण के लिए (विम की मदद से पराश्रित):
`[` and `]`: jump to the first or last character of the previously changed or
yanked text. {not in Vi}
`<` and `>`: jump to the first or last line (with `'`) or character (with
<code>`</code>) of the last selected Visual area in the current
buffer. For block mode it may also be the last character in the
first line (to be able to define the block). {not in Vi}.
अधिक, विम की अंतर्निहित मदद से:
'' `` To the position before the latest jump, or where the
last "m'" or "m`" command was given. Not set when the
:keepjumps command modifier was used.
Also see restore-position.
'" `" To the cursor position when last exiting the current
buffer. Defaults to the first character of the first
line. See last-position-jump for how to use this
for each opened file.
Only one position is remembered per buffer, not one
for each window. As long as the buffer is visible in
a window the position won't be changed.
{not in Vi}.
'. `. To the position where the last change was made. The
position is at or near where the change started.
Sometimes a command is executed as several changes,
then the position can be near the end of what the
command changed. For example when inserting a word,
the position will be on the last character.
{not in Vi}
'" `" To the cursor position when last exiting the current
buffer. Defaults to the first character of the first
line. See last-position-jump for how to use this
for each opened file.
Only one position is remembered per buffer, not one
for each window. As long as the buffer is visible in
a window the position won't be changed.
{not in Vi}.
'^ `^ To the position where the cursor was the last time
when Insert mode was stopped. This is used by the
gi command. Not set when the :keepjumps command
modifier was used. {not in Vi}
इसके अतिरिक्त, वर्ण (
, )
, {
, और }
ऐसे चिह्न हैं जो सामान्य स्थिति-कमांड के समान ही कूदते हैं - अर्थात, '}
सामान्य मोड में }
के समान कार्य करता है।
विशिष्ट लाइन पर जाएं
बृहदान्त्र संख्या के साथ एक विशिष्ट रेखा पर कूदने के लिए। फ़ाइल उपयोग की पहली पंक्ति पर जाने के लिए
:1
23 की लाइन में कूदने के लिए
:23