2011-04-11 4 views
11

है, यह हेवन मुझे वीम का उपयोग करके 3 दिनों तक पहले दिन से चिपका रहा है। जब भी मैं शिफ्ट + > के माध्यम से लाइन का पहला अक्षर "#" के साथ शुरू होता है, तो फ़ाइल प्रकार (.php, .txt, आदि) के बावजूद यह बिल्कुल काम नहीं करता है। ।)। क्योंकि # PHP में टिप्पणी के लिए प्रयोग किया जाता है और मैं भी पाठ के लिए सजावट के लिए इसका इस्तेमाल करते हैं जैसे कुछ फ़ाइलें:विम संपादक इंडेंट समस्या जब रेखा का पहला अक्षर एक तेज # वर्ण

# This is a comment 

### 1. Instruction one 

# ------------ this is an sample --------------

मैं Ubuntu में विम 7.2 का उपयोग निम्नलिखित .vimrc सेटिंग्स

syntax on 
set t_Co=256 
set incsearch 
set hlsearch 
set number 
set nowrap 
set nowrapscan 
set ignorecase 
set et 
set sw=4 
set smarttab 
set smartindent 
set autoindent 
set textwidth=0 
set noequalalways 
set formatoptions=1 
set lbr 
set vb  
set foldmethod=marker 

धन्यवाद के साथ!

उत्तर

4

अपने .vimrc में निम्नलिखित सम्मिलित करें:

set nosmartindent 

यह smartindent कि # के साथ शुरुआत लाइनों के रूप में आप चाहते हैं इंडेंट नहीं किया जा करने के लिए कारण बनता है। आप :help smartindent टाइप करके इसके बारे में अधिक पढ़ सकते हैं। यदि आप पाइथन स्क्रिप्ट्स (या किसी अन्य वाक्यविन्यास) के लिए इंडेंटिंग फ़ाइल का उपयोग करते हैं, तो निम्न भी शामिल करें।

filetype indent on 
+3

यह मेरे लिए यह हल नहीं करता है। मेरे पास 'nosmartindent' और 'filetype indent' है और अभी भी vim मुझे' # 'से शुरू होने वाली इंडेंट लाइनों को नहीं जाने देता है। यह कर्सर को पहले कॉलम पर भी ले जाता है जब भी मैं लाइन में पहले अक्षर के रूप में '#' टाइप करता हूं। कोई सुराग? –

+1

@ माइकलहर्टल मुझे आपकी सटीक समस्या थी, डिफ़ॉल्ट रूप से .एमएमडी ने डिफ़ॉल्ट रूप से यह कष्टप्रद व्यवहार किया है, इस व्यवहार को टॉगल करने वाला उचित इन्सेंटेशन है: 'इसे बंद करने के लिए nocindent' सेट करें और इसे वापस करने के लिए 'cindent' सेट करें जैसा कि यहां परिभाषित किया गया है: http://vim.wikia.com/wiki/Restoring_indent_after_typing_hash –

0

आप उपयोग कर सकते हैं:

inoremap # X^H# 

मुझे लगता है कि इस व्यवहार C/C++ के लिए पूरी तरह से गलत नहीं है, इसलिए मैं सिर्फ अजगर/php में इसे बदल।

autocmd FileType python,php inoremap # X^H# 

:help smartindent का कहना है:

जब एक नई लाइन में पहले वर्ण, कि लाइन निकाल दिया जाता है के लिए मांगपत्र के रूप में # टाइपिंग, # पहले कॉलम में डाल दिया है। इंडेंट अगली पंक्ति के लिए बहाल किया गया है।

यदि आप यह नहीं चाहते हैं, तो इस मैपिंग का उपयोग करें: :inoremap # X^H#, जहां ^HCTRL-V CTRL-H के साथ दर्ज किया गया है। >> कमांड का उपयोग करते समय, # से शुरू होने वाली लाइनों को सही स्थानांतरित नहीं किया गया है।

संबंधित मुद्दे