VI में नई लाइन खोले बिना लाइन की शुरुआत में जाएं


229

अब उम्र के लिए मैंने प्रयोग किया है SHIFTOऔर SHIFT$एक पंक्ति के आरंभ और अंत में जाना है vi

हालाँकि SHIFTOकर्सर के ऊपर एक नई लाइन खोलने के लिए अधिक है।

क्या कोई कमांड है जो आपको केवल एक लाइन की शुरुआत में ले जाती है?


9
नीचे दिए गए जवाबों के अलावा, टाइप करें: Vim में बाएं-दाएं-मोशनों को भरपूर जानकारी के लिए मदद करें।
एन जी एम

vim के लिए एक अच्छी पुस्तक: vim में अभ्यास करें। ^ 0
陈思秀

जवाबों:


426

आप एक पंक्ति की शुरुआत में जाने के लिए सामान्य मोड में ^या 0(शून्य) का उपयोग कर सकते हैं ।

^कर्सर को किसी रेखा के पहले गैर-रिक्त वर्ण में
0ले जाता है, हमेशा कर्सर को "पहले कॉलम" में ले जाता है

आप Shiftiइन्सर्ट मोड में जाने और स्विच करने के लिए भी उपयोग कर सकते हैं ।


5
शिफ्ट + ए और शिफ्ट + मैं क्रमशः लाइन के अंत और शुरुआत में जाता है और इंसर्ट करने के लिए स्विच भी करता है
bibstha

7
मेरे लिए, दबाने के ^लिए आमतौर पर दबाने 0और wलगातार के रूप में आसान नहीं है ।
DXDXY


25

इस Vi / Vim cheatsheet समाधान को कई समस्याओं के लिए आज़माएं ।

सामान्य मोड के लिए:
0- [शून्य] लाइन की शुरुआत में, पहला कॉलम।
$- लाइन के अंत तक


12

आप लाइन की शुरुआत के लिए उपयोग 0या ^स्थानांतरित कर सकते हैं ।
और शुरुआत में स्थानांतरित करने के लिए Shift+ Iका उपयोग कर सकते हैं और संपादन मोड में डालें ( सम्मिलित करें )।


आप उत्तर देते हैं कि ज्यादातर सही है, लेकिन एक छोटा सा चेतावनी है। Shift+Iया पंक्ति में पाठ^ की शुरुआत के लिए कर्सर ले जाएगा । यदि लाइन में शुरुआत में टैब है, तो यह कर्सर को वें कॉलम में ले जाएगा । जबकि कर्सर को लाइन के पहले कॉलम में ले जाता है । nn*tabstop + 10
नरेन्द्र-चौधरी

10

एक और तरीका है:

|

वह "पाइप" है - एएनएसआई लेआउट में बैकस्पेस के तहत पाया गया प्रतीक ।

विम क्विक ( :help quickref) इसका वर्णन करता है:

N      |      to column N (default: 1)

लिपटी लाइनों के बारे में क्या?

यदि आपके पास रैप लाइनें सक्षम हैं, 0और |अब आपको स्क्रीन लाइन की शुरुआत में नहीं ले जाएगा। उस मामले में उपयोग करें:

g0

फिर से, विम क्विकरेक डॉक्टर:

 g0   to first character in screen line (differs from "0"
      when lines wrap)

अब मैं देखता हूं कि यह क्यों काम करता है। धन्यवाद। मैं सोच रहा था। मुझे लगता है कि यह तुलना में बेहतर है 0, क्योंकि |और $एक ही कुंजी पर हैं।
पश्चिमीगंज


6

कर्सर को भीख माँगने के लिए ले जाएँ या सम्मिलित मोड के साथ समाप्त करें

  • I - कर्सर को वर्तमान लाइन में पहले गैर रिक्त वर्ण पर ले जाता है और सम्मिलित मोड सक्षम करता है।
  • A - कर्सर को वर्तमान लाइन में अंतिम वर्ण में ले जाता है और सम्मिलित मोड को सक्षम करता है।

यहाँ + के Iबराबर है । इसी तरह + के बराबर है ।^iA$a

बस कर्सर को भीख मांगने या अंत में ले जाने के लिए

  • ^ - करंट लाइन में कर्सर को पहले नॉन ब्लैंक कैरेक्टर में ले जाता है
  • 0 - करंट लाइन में कर्सर को पहले कैरेक्टर में ले जाता है
  • $ - कर्सर को वर्तमान लाइन में अंतिम वर्ण में ले जाता है

5

मुझे सिर्फ 0 (शून्य) और शिफ्ट + 0 काम करता है।


5
shift+0वह ), जो अगला वाक्य है
mihai

Shift+0बेहतर है, ^चरित्र दिखाता है और यह कष्टप्रद है। धन्यवाद
कलबर्ट

1

0 आपको लाइन की शुरुआत में ले जाता है

Shift 0 आपको पंक्ति के अंत तक ले जाता है


Shift-0 (')') आपको लाइन की शुरुआत में नहीं ले जाता है
बोरिस चुरज़िन

@Devenv: यह सच है! 0 होगा
सागर जैन

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