खोज…


डालने मोड छोड़

आदेश विवरण
<Esc> पत्तियां सम्मिलित करें मोड, ऑटोकॉमैंड्स और संक्षिप्तताओं को ट्रिगर करता है
<C-[> <Esc> का सटीक पर्याय
<Cc> पत्तियां सम्मिलित करें मोड, ऑटोकॉमैंड को ट्रिगर नहीं करता है

कुछ लोग अपेक्षाकृत असामान्य जोड़ी का उपयोग करना पसंद करते हैं जैसे कि jk जैसे शॉर्टकट <Esc> या <C-[> जो कुछ कीबोर्ड पर पहुंचना कठिन हो सकता है:

inoremap jk <Esc>l

इन्सर्ट मोड में आने के विभिन्न तरीके

आदेश विवरण
a वर्तमान कर्सर स्थिति के बाद पाठ को जोड़ें
A करंट लाइन के अंत में टेक्स्ट को जोड़ें
i वर्तमान कर्सर स्थिति से पहले पाठ डालें
I वर्तमान लाइन के पहले गैर-रिक्त चरित्र से पहले पाठ डालें
gI कर्सर लाइन के पहले कॉलम में टेक्स्ट डालें
gi पाठ को उसी स्थिति में डालें जहाँ उसे पिछली बार इन्सर्ट मोड में छोड़ा गया था
O वर्तमान लाइन के ऊपर एक नई लाइन खोलें और वहां टेक्स्ट जोड़ें (CAPITAL O )
o वर्तमान लाइन के नीचे एक नई लाइन खोलें और वहां टेक्स्ट जोड़ें (लोअरकेस o )
s या cl कर्सर के नीचे का चरित्र हटाएं और मोड डालने के लिए स्विच करें
S या cc पूरी लाइन हटाएं और इंसर्ट मोड पर स्विच करें
C कर्सर स्थिति से लाइन के अंत तक हटाएं और सम्मिलित मोड शुरू करें
c{motion} {motion} हटाएं और इंसर्ट मोड शुरू करें ( बेसिक मोशन देखें)

मोड शॉर्टकट डालें

आदेश विवरण
<Cw> कर्सर से पहले शब्द हटाएं
<Ct> एक shiftwidth साथ वर्तमान लाइन को इंडेंट करें
<Cd> एक के बाद साथ अनइंडेंट वर्तमान पंक्ति shiftwidth
<Cf> लाइन को फिर से चालू करें, (कर्सर को ऑटो इंडेंट स्थिति में ले जाएँ)
<Ca> पहले डाला गया टेक्स्ट डालें
<Ce> नीचे चरित्र डालें
<Ch> एक वर्ण को पीछे हटा दें
<Cy> ऊपर वर्ण डालें
<Cr>{register} {register} की सामग्री डालें
<Co>{normal mode command} इन्सर्ट मोड को छोड़े बिना {normal mode command} निष्पादित करें
<Cn> वर्तमान शब्द के लिए अगला स्वतः पूर्ण विकल्प
<Cp> वर्तमान शब्द के लिए पिछला स्वतः पूर्ण विकल्प
<Cv> दशमलव में इसके ASCII मान द्वारा एक चरित्र डालें
<Cv>x हेक्साडेसिमल में इसके ASCII मूल्य द्वारा एक चरित्र डालें
<Cv>u हेक्साडेसिमल में इसके यूनिकोड मूल्य द्वारा एक चरित्र डालें
<Ck> एक डिग्टर दर्ज करें

इन्सर्ट मोड से नॉर्मल कमांड चलाना

इन्सर्ट मोड में, इन्सर्ट मोड को अस्थायी रूप से छोड़ने के लिए <Co> दबाएं और एक-एक सामान्य कमांड को निष्पादित करें।

उदाहरण

<Co>2w दूसरे शब्द के बाईं ओर कूदता है और इन्सर्ट मोड में लौटता है।

नोट: साथ दोहरा रहा है . केवल इन्सर्ट मोड में लौटने से क्रियाओं को दोहराएगा

यह कुछ उपयोगी मैपिंग के लिए अनुमति देता है, उदाहरण के लिए

inoremap <C-f> <Right>
inoremap <C-b> <Left>
inoremap <C-a> <C-o>^
inoremap <C-e> <C-o>$

अब ctrl + a, कर्सर को लाइन की शुरुआत में और ctrl + e - लाइन के अंत में डाल देगा। इन मैपिंग का उपयोग readline में डिफ़ॉल्ट रूप से किया जाता है, इसलिए उन लोगों के लिए उपयोगी हो सकता है जो स्थिरता चाहते हैं।

एक बार में कई लाइनों में टेक्स्ट डालें

विजुअल ब्लॉक मोड में प्रवेश करने के लिए Ctrl + v दबाएं

उपयोग / / j / k कई पंक्तियों का चयन करें।

Shift + i दबाएं और जो आप चाहते हैं उसे टाइप करना शुरू करें।

आपके द्वारा Esc दबाए जाने के बाद, टेक्स्ट आपके द्वारा चुनी गई सभी लाइनों में सम्मिलित हो जाएगा।

याद रखें कि Ctrl + c Esc के बराबर 100% नहीं है और इस स्थिति में काम नहीं करेगा!

Shift + i की थोड़ी भिन्नताएं हैं जिन्हें आप दृश्य ब्लॉक मोड में रहते हुए दबा सकते हैं:

चाभी विवरण
c या s चयनित ब्लॉक हटाएं और इंसर्ट मोड डालें
सी चयनित पंक्तियों को हटाएं (कर्सर से अंत तक) और डालें मोड डालें
आर चयनित लाइनें हटाएं और सम्मिलित करें मोड दर्ज करें
पहली पंक्ति के अंत में कॉलम के साथ, चयनित लाइनों के लिए आवेदन करें

यह भी ध्यान दें कि दबाने विज़ुअल ब्लॉक ऑपरेशन के बाद उस ऑपरेशन को दोहराएगा जहाँ कर्सर है!

टर्मिनल "पेस्ट" कमांड का उपयोग करके टेक्स्ट पेस्ट करें

यदि आप अपने टर्मिनल एमुलेटर प्रोग्राम से पेस्ट कमांड का उपयोग करते हैं, तो विम अक्षरों की धारा की व्याख्या करेगा जैसे कि वे टाइप किए गए थे। यह सभी प्रकार के अवांछनीय प्रभावों का कारण होगा, विशेष रूप से खराब क्षति।

इसे ठीक करने के लिए, कमांड मोड से:

:set paste

फिर, उदाहरण के लिए, i के साथ, इन्सर्ट मोड पर जाएँ। ध्यान दें कि मोड अब है -- INSERT (paste) -- । अब अपने टर्मिनल एमुलेटर कमांड के साथ, या माउस के साथ पेस्ट करें। जब Esc और रन के साथ कमांड मोड पर जाएं:

:set nopaste

एक सरल तरीका है, जब कोई बस एक बार पेस्ट करना चाहता है। इसे अपने .vimrc में डालें (या प्लगइन का उपयोग न करें। unimaired.vim ):

function! s:setup_paste() abort
  set paste
  augroup unimpaired_paste
    autocmd!
    autocmd InsertLeave *
      \ set nopaste |
      \ autocmd! unimpaired_paste
  augroup end
endfunction

nnoremap <silent> yo :call <SID>setup_paste()<CR>o
nnoremap <silent> yO :call <SID>setup_paste()<CR>O

अब कोई भी कर्सर के नीचे कोड पेस्ट करने के लिए yo को दबा सकता है, और फिर <Esc> वापस सामान्य / nopaste मोड पर जाने के लिए।

इन्सर्ट मोड में रहते हुए रजिस्टर से पेस्ट करना

इन्सर्ट मोड में रहते हुए, आप एक रजिस्टर से चिपकाने के लिए <Cr> का उपयोग कर सकते हैं, जो अगले कीस्ट्रोक द्वारा निर्दिष्ट किया गया है। <Cr>" उदाहरण के लिए अनाम ( " ) रजिस्टर से चिपकाता है।

देखें :help registers

उन्नत प्रविष्टि कमांड और शॉर्टकट

यहां उन्नत सम्मिलन, स्वरूपण और फ़िल्टरिंग कमांड / शॉर्टकट के लिए एक त्वरित संदर्भ दिया गया है।

कमांड / शॉर्टकट परिणाम
जी + + मी Rot13 एन्कोडिंग, आंदोलन m पर करें
n + ctrl + a + n कर्सर के नीचे संख्या के लिए
n + ctrl + x - एन कर्सर के तहत संख्या के लिए
जी + क्यू + एम निश्चित चौड़ाई के लिए आंदोलन मीटर का प्रारूप लाइनों
: आर सी डब्ल्यू रेंज आर से चौड़ाई डब्ल्यू में केंद्र लाइनें
: आर ले मैं इंडेंट i के साथ रेंज r में लेफ्ट अलाइन लाइनें
: आर डब्ल्यू री चौड़ाई r से चौड़ाई w में दाएं संरेखित रेखाएँ
! एम सी आदेश के माध्यम से आंदोलन मीटर की फ़िल्टर लाइनों
n !! सी कमांड सी के माध्यम से एन लाइनों को फ़िल्टर करें
: आर ! सी फ़िल्टर सीमाएँ r कमांड सी के माध्यम से

कोड पेस्ट करने के लिए ऑटो-इंडेंट अक्षम करें

जब एक टर्मिनल एमुलेटर के माध्यम से पाठ को चिपकाते हैं, तो ऑटो-इंडेंट फीचर पेस्ट किए गए पाठ के इंडेंटेशन को नष्ट कर सकता है

उदाहरण के लिए:

function () {
    echo 'foo'
    echo 'bar'
    echo 'baz'
}

के रूप में चिपकाया जाएगा:

function () {
    echo 'foo'
        echo 'bar'
            echo 'baz'
            }

इन मामलों में, ऑटो-इंडेंट सुविधा को अक्षम / सक्षम करने के लिए paste / nopaste विकल्प का उपयोग करें:

:set paste
:set nopaste

इसे जोड़ने पर, समस्या का एक सरल तरीका है: अपने .vimrc में निम्न पंक्ति जोड़ें।

set pastetoggle=<F3>

और अगर आप क्लिपबोर्ड से पेस्ट करना चाहते हैं। बस insert मोड में F3 दबाएं, और पेस्ट करें। paste मोड से बाहर निकलने के लिए फिर से F3 दबाएँ।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow