जब विस्तट विकल्प विम में हो तो टैब कैरेक्टर कैसे डालें


352

जब मैं इन्सर्ट मोड में हूँ और मेरे पास है expandtab ऑप्शन ऑन होता है, तो रिक्फ़र्ड Tab ↹नंबर को स्पेस में डालने पर रिजल्ट दब जाता है।

लेकिन कभी-कभी मैं एक वास्तविक टैब चरित्र सम्मिलित करना चाहता हूं।

क्या आप जानते हैं कि यह काम कैसे करना है?

जवाबों:


516

आप <CTRL-V><Tab>"इन्सर्ट मोड" में उपयोग कर सकते हैं । इन्सर्ट मोड में, <CTRL-V>आपके अगले कैरेक्टर की शाब्दिक प्रति सम्मिलित करता है।

यदि आपको अक्सर ऐसा करने की आवश्यकता होती है, तो @ Dee`Kej ने सुझाव दिया है (टिप्पणियों में) Shift+ सेटिंग के Tabसाथ एक असली टैब डालने के लिए:

:inoremap <S-Tab> <C-V><Tab>

इसके अलावा, जैसा कि @feedbackloop ने नोट किया है, विंडोज पर आपको इसके <CTRL-Q>बजाय प्रेस करने की आवश्यकता हो सकती है <CTRL-V>


33
और फिर .यदि आप कई टैब सम्मिलित करना चाहते हैं तो अंतिम कमांड को दोहराने के लिए उपयोग करें।
जेवियर टी।

10
मुझे इस संयोजन का उपयोग करने में कुछ समस्याएँ थीं क्योंकि मैं कमांड मोड में था। सुनिश्चित करें कि आप EDIT मोड में इस कमांड को निष्पादित करते हैं।
mgfernan

11
तकनीकी रूप से INSERT मोड।
mkmurray

2
नोट: यदि आप विंडोज पर जीवीएम का उपयोग कर रहे हैं, तो आपको इसके बजाय CTRL+ का उपयोग करने की आवश्यकता होगी Q- देखें stackoverflow.com/questions/6951672/…
प्रतिक्रिया समय

8
मैंने इस मामले के लिए सिर्फ अपना सरल शॉर्टकट बनाया है और यह काम करता हुआ प्रतीत हो रहा है (और कुछ नहीं तोड़ रहा है): inoremap <S-Tab> <C-V><Tab>- आप इसे अपनी ~/.vimrcफ़ाइल में रख सकते हैं ।
डे'केज

34

आप नीचे के रूप में विम के भीतर से एक्सपेंडेबट विकल्प को अक्षम कर सकते हैं:

:set expandtab!

या

:set noet

पुनश्च: और इसे तब सेट करें जब आप "सेट एक्सपेंडेब" या "सेट एट" के साथ टैब डालने के साथ कर रहे हों

पुनश्च: यदि आपके पास .vimrc (सॉफ्टटैबटॉप) में 4 रिक्त स्थान के बराबर टैब सेट है, तो आप दो बार के बजाय एक बार टैब कुंजी दबाकर टैब सम्मिलित करने में सक्षम होने के लिए इसे 8 स्थानों पर सेट करना पसंद कर सकते हैं (सेट सॉफ्टटैबॉप = 8 )।


संक्षेप में: set etऔर set noetस्विच करने के लिए tabऔर spaceजरूरत के रूप में।
एरिक वांग

Ctrl + V के कारण पेस्ट हुआ और मेरे पास कीबाइंडिंग को समायोजित करने का समय नहीं था। इससे मदद मिली
शिरीष हिरेकोडी

2

प्रलेखन से expandtab:

expandtabचालू होने पर वास्तविक टैब सम्मिलित करने के लिए , का उपयोग करें । इन्हें भी देखें और इन-एक्सपेंडेबट । यह विकल्प रीसेट होने पर विकल्प रीसेट हो जाता है और विकल्प रीसेट होने पर पुनर्स्थापित हो जाता है।CTRL-V<Tab>:retab
pastepaste

इसलिए यदि आपके पास pasteविकल्प को टॉगल करने के लिए मैपिंग है, जैसे

set pastetoggle=<F2>

आप भी कर सकते हैं <F2>Tab<F2>

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