मुझे पता है कि आम तौर पर कमांड मोड में कैसे घूमते हैं, विशेष रूप से, लाइनों के लिए कूद, आदि। लेकिन उस लाइन के अंत में कूदने के लिए कमांड क्या है जो मैं वर्तमान में हूं?
vimtutor
महान है। शायद वे इसके बारे में नहीं जानते थे?
मुझे पता है कि आम तौर पर कमांड मोड में कैसे घूमते हैं, विशेष रूप से, लाइनों के लिए कूद, आदि। लेकिन उस लाइन के अंत में कूदने के लिए कमांड क्या है जो मैं वर्तमान में हूं?
vimtutor
महान है। शायद वे इसके बारे में नहीं जानते थे?
जवाबों:
बस $ (डॉलर का चिह्न) कुंजी। आप Aपंक्ति के अंत में जाने और संपादन मोड (ऐपेंड) पर स्विच करने के लिए उपयोग कर सकते हैं । अंतिम गैर-रिक्त वर्ण को कूदने के लिए, आप gतब _कुंजी दबा सकते हैं ।
के विपरीत Aहै I(एक पंक्ति के प्रारंभ में मोड डालें), एक तरफ। सिर्फ दबाने से ^आपके कर्सर को लाइन के पहले नॉन-व्हाइट-स्पेस कैरेक्टर में रखा जाएगा।
g_
g_
भिन्नता होती है क्योंकि इसमें रिक्त वर्ण शामिल नहीं होते हैं
जैसा कि बहुत से लोगों ने कहा है:
लेकिन:
|
कमांड एक गिनती ले सकता है, उदाहरण 3 | तीसरे कॉलम में जाने के लिए।
g _ अंतिम गैर-व्हाट्सएप चरित्र पर जाता है।
g $ स्क्रीन लाइन के अंत में जाता है (जब एक बफर लाइन कई स्क्रीन लाइनों में लिपटी होती है)
b
पिछले शब्द की शुरुआत में जाता है जो एक ही बात नहीं है। यह लगभग बराबर है $ge
।
_
और g_
के लिए दृश्य / yanking, के रूप में $
भी कॉपी कर देंगे / नई लाइन (एल.एन.) चरित्र को हटा दें।
g_
एक ही रास्ता है जो मुझे लाइन के वास्तविक छोर पर जाने के लिए मिला।
$
मेरे लिए लपेटे जाने पर भी रेखा के अंत तक जाता है। मुझे इसके व्यवहार को समायोजित करने के लिए कोई सेटिंग नहीं है। शायद यह आपके .vimrc द्वारा रीमैप किया गया है g$
?
मुख्य सवाल - लाइन का अंत
$ लाइन के अंत में जाता है, कमांड मोड में रहता है
A लाइन के अंत में जाता है, मोड डालने के लिए स्विच करता है
इसके विपरीत - लाइन की शुरुआत (तकनीकी रूप से पहला गैर-व्हाट्सएप चरित्र)
^ लाइन के प्रारंभ में जाता है, कमांड मोड में रहता है
I (अपरकेस i) लाइन के प्रारंभ में जाता है, मोड डालने के लिए स्विच करता है
इसके अलावा - लाइन की (तकनीकी रूप से प्रभावित हुए बिना पहले कॉलम शुरू खाली स्थान के )
0 (शून्य) लाइन की शुरुआत में जाता है, कमांड मोड में रहता है
0i (शून्य लोअरकेस आई के बाद) लाइन के प्रारंभ में जाता है, मोड डालने के लिए स्विच करता है
Vi सीखने के लिए शुरू करने वालों के लिए, यहाँ एक अच्छा परिचय है vi द्वारा साइड विआयर्ड्स को विशिष्ट विंडोज जीयूआई एडिटर कर्सर मूवमेंट और शॉर्टकट कुंजियों पर सूचीबद्ध करके।
I
नहीं है , 0
लेकिन ^
दोनों के रूप में I
और लाइन ^
के पहले गैर-व्हाट्सएप चरित्र पर जाएं, लेकिन 0
कॉलम शून्य पर जाता है (जैसा कि इसके नाम का अर्थ है)।
0
होगा? (लाइन के पहले पात्र (= कॉलम 0) पर जाएं और इन्सर्ट मोड में जाएँ)
0i
। :-)
अपने मौजूदा लाइन अगली पंक्ति पर दृश्य स्क्रीन इर्द-गिर्द घूमती हैं, तो आप उपयोग कर सकते हैं छ $ के अंत को पाने के लिए स्क्रीन लाइन।
gw
और gq
पुनः स्वरूपित पाठ कर रहे हैं वे आदेश दिए गए। (देखें :h gw
और :h gq
) संभवत: आप क्या कर रहे थे gw{motion}
और कुछ पाठ को बदल दिया ताकि स्क्रीन लाइनों वास्तविक लाइनों के अनुरूप हो।
डॉलर का चिह्न: $
कई मामलों में, जब हम एक स्ट्रिंग के अंदर होते हैं तो हम एक दोहरे उद्धरण द्वारा संलग्न होते हैं, या एक बयान लिखते समय हम बचना नहीं चाहते हैं और तीर कुंजी के साथ उस पंक्ति के अंत में जाएं और अर्धविराम ( ;
) को समाप्त करने के लिए दबाएं रेखा। अपनी vimrc फ़ाइल के अंदर निम्न पंक्ति लिखें :
imap <C-l> <Esc>$a
रेखा क्या कहती है? यह Ctrl + l को आदेशों की एक श्रृंखला में मैप करता है। यह आपके लिए एक साथ दबाने Esc(कमांड मोड), $(लाइन के अंत), a(एपेंड) के बराबर है ।
vim
निश्चित रूप से आप इस तरह की चीजों के साथ बहुत कम समय में बहुत कुछ करने की अनुमति देता है। @razorxpress, एक मामूली समायोजन होगा imap <C-l> <Esc>A
, जो Ctrl + l को दबाने Esc
(एक्जिट इंसर्ट मोड) के बराबर बनाता है , फिर A
(पंक्ति के अंत में संलग्न)।
inoremap <C-l> <C-o>A
'एंड' कुंजी का लाभ यह सामान्य और सम्मिलित दोनों मोड में काम करता है।
'$' केवल सामान्य / कमांड मोड में काम करता है, लेकिन यह क्लासिक vi संपादक में भी काम करता है (यह जानने के लिए अच्छा है कि जब विम उपलब्ध नहीं है)।
लाइन (या शायद भौतिक रेखा) और स्क्रीन लाइन के बीच अंतर पर भी ध्यान दें । एक पंक्ति को पंक्ति वर्ण के अंत ("\ n") द्वारा समाप्त किया जाता है। एक स्क्रीन लाइन जो कुछ भी होता है उसे आपके टर्मिनल या स्क्रीन में वर्णों की एक पंक्ति के रूप में दिखाया जाता है। यदि आपके पास स्क्रीन की चौड़ाई से अधिक लंबी भौतिक रेखाएं हैं, तो दोनों अलग आती हैं, जो ईमेल लिखते समय बहुत सामान्य होती हैं।
अंत के रूप में अच्छी तरह से लाइन कमांड में भेद दिखाता है।
यदि आप हमेशा बाद वाले व्यवहार को पसंद करते हैं, तो आप इस तरह से चाबियों को निकाल सकते हैं:
:noremap 0 g0
:noremap $ g$
g_
भौतिक रेखा का अंतिम गैर-व्हाट्सएप है । स्क्रीन लाइन के बारे में कैसे?
या स्पष्ट उत्तर है: Endपंक्ति के अंत में जाने के लिए कुंजी का उपयोग करें ।
मैं मानक टर्मिनल में विम के उपयोग के लिए मैकबुक के लिए हॉटकी नहीं देख सकता। आशा है कि यह किसी की मदद करेगा। MacOS उपयोगकर्ताओं के लिए (मैकबुक प्रो 2018 पर परीक्षण किया गया):
fn+ ← - शुरुआत की रेखा पर जाएं
fn+ → - अंतिम पंक्ति में जाएं
fn+ ↑ - पृष्ठ को ऊपर ले जाएं
fn+ ↓ - पृष्ठ को नीचे ले जाएं
fn+ g - दस्तावेज़ की शुरुआत में कर्सर ले जाएँ
fn+ shift + g - दस्तावेज़ के अंत में कर्सर को स्थानांतरित करें
पिछले दो आदेशों के लिए कुछ समय के लिए दो बार टैप करना होगा।
मुझे होम / एंड के लिए इन्सर्ट मोड में लाइनों की शुरुआत और अंत करने के लिए मुझे इस्तेमाल किया गया था (विंडोज में उपयोग से और मुझे लगता है कि लिनक्स), जिसका मैक समर्थन नहीं करता है। यह विशेष रूप से कष्टप्रद है क्योंकि जब मैं रिमोट सिस्टम पर विम का उपयोग कर रहा हूं, तो मैं भी आसानी से नहीं कर सकता। कुछ दर्दनाक परीक्षण और त्रुटि के बाद, मैं इन .vimrc
पंक्तियों के साथ आया, जो एक ही काम करते हैं, लेकिन लाइन की शुरुआत के लिए Ctrl-A और लाइन के अंत में Ctrl-D के लिए बाध्य है। (किसी कारण से, Ctrl-E मुझे लगता है कि आरक्षित है या कम से कम मैं इसे बांधने का तरीका नहीं समझ सकता।) आनंद लें।
:imap <Char-1> <Char-15>:normal 0<Char-13>
:imap <Char-4> <Char-15>:normal $<Char-13>
ASCII नियंत्रण वर्ण कोड के लिए यहां एक अच्छा चार्ट है जो अन्य लोगों के लिए भी है:
http://www.physics.udel.edu/~watson/scen103/ascii.html
आप Ctrl-V + Ctrl- के रूप में अच्छी तरह से कर सकते हैं, लेकिन यह इस तरह की जगहों पर पेस्ट नहीं करता है।