2010-10-15 25 views
14

मेरा ऑटोइंडेंट काम नहीं कर रहा है, किसी भी नैदानिक ​​परीक्षण को समझने के लिए?विम: ऑटोइंडेंट काम नहीं कर रहा है

मेरी ": सेट" है:

: --- विकल्प --- cindent laststatus = 2 स्क्रॉल = सेट 17
tabstop = 4 खिड़की = 36
filetype = सीपीपी संख्या
smartindent ttyfast
helplang = hi पेस्ट
वाक्य रचना = सीपीपी ttymouse = xterm2
बैकस्पेस = मांगपत्र, EOL, शुरू
fileencoding = UTF-8 +०१२३८००७३१ fileencodings = ucs-bom, utf-8, डिफ़ॉल्ट, लैटिन 1 प्रिंटोप्शन = पेपर: अक्षर
runtimepath = ~/.vim,/var/lib/vim/addons,/usr/share/vim/vimfiles,/usr/शेयर/vim/vim72,/usr/share/vim/vimfiles/af ter,/var/lib/vim/addons/after, ~/.vim/ प्रत्यय = .bak, ~, .swp, .o , .info, .aux, log, .dvi, .bbl, .blg, .brf, .cb, .ind, .idx, .ilg, .inx, .out, .toc

+1

मैंने देखा कि मुझे टाइप करना होगा: इसे काम करने के लिए मैन्युअल रूप से ऑटोइंडेंट सेट करें। मैं सोच रहा हूं कि यह मेरे .vimrc – l7ecl

+0

में स्वचालित रूप से शामिल नहीं होने के कारण इस प्रश्न के लिए कोई स्वीकार्य उत्तर नहीं है? –

उत्तर

2

यहाँ एक है यह जांचने का तरीका है कि आपके पास कॉन्फ़िगरेशन सही है या नहीं, फिर अपनी कॉन्फ़िगरेशन जारी रखें ताकि विम हमेशा इस प्रकार संचालित हो। This font टेक्स्ट को इंगित करता है जिसे शाब्दिक रूप से टाइप किया जाना चाहिए, <CR> को छोड़कर "एंटर" या "रिटर्न" कुंजी दबाएं।

  • एक नई होम निर्देशिका के साथ एक नया सिस्टम उपयोगकर्ता बनाएं।
  • प्रारंभ करें विम। सभी सेटिंग्स को सेट किया जाना चाहिए हालांकि वे डिफ़ॉल्ट रूप से विम के साथ भेजते हैं।
  • फ़ाइल खोलें, test.txt।
  • सुनिश्चित करें autoindent सक्षम किया गया है (:set ai?<CR>)
  • सिद्ध करें कि autoindent नहीं होता है:
    • प्रकार एक या दो अंतरिक्ष, तो हिट दर्ज करें।
    • जब कर्सर अगली पंक्ति में आगे बढ़ता है, तो इसे कॉलम 1, दूर-बाएं कॉलम पर वापस जाना चाहिए।
      • प्रकार एक या दो अंतरिक्ष, फिर enter दबाएं: autoindent (:set ai<CR>)
      • पर
    • बारी यकीन autoindent सक्षम है (:set ai?<CR>)
    • सिद्ध करें कि autoindent होता है सुनिश्चित करें।
    • जब कर्सर अगली पंक्ति में आगे बढ़ता है, तो यह अभी भी उसी कॉलम में होना चाहिए।
  • :mkvimrc<CR> के साथ लगातार ऑटोइंडेंट।

आशा है कि मदद करता है! यहां कुछ अन्य नोट्स दिए गए हैं:

  • ये निर्देश बाएं से दाएं स्थान के लिए विशिष्ट हो सकते हैं।
  • Here's my vimrc
7

आप शायद smartindent बंद कर देते हैं और :filetype indent on और cindent (जो भी स्थापित किया जा रहा है) के बजाय का उपयोग करना चाहिए।

+0

यह मेरे लिए काम किया ... धन्यवाद! – Vikram

8

कोशिश:

:set ai 

या:

:set autoindent 

ऑटो मांगपत्र के बारे में अधिक जानकारी प्राप्त:

:h ai 

अन्यथा, यह फ़ाइल प्रकार का पता लगाने के साथ कुछ हो सकता है।

+1

यह मेरे लिए '.tex' फ़ाइलों के लिए काम किया। हो सकता है कि @benoit द्वारा जवाब के साथ संयोजन (जो पहले काम नहीं करता था) – polym

1

अगर किसी और को एक ही समस्या का सामना करना पड़ता है, तो मुझे एक समान समस्या थी कि उपरोक्त में से कोई भी तय नहीं है। टैब व्याख्याओं के लिए मेरे लिए क्या गलत था। यहाँ सेट अप है कि यह काम किया जाता है:

" helper for indent mistake 
set list listchars=tab:»·,trail:· 

जो एक प्रदर्शित ":

set expandtab 
set tabstop=2 
set shiftwidth=2 
set autoindent 
set smartindent 

और जब इंडेंट अगर खरोज सही था जाँच करने के लिए, मैं निम्नलिखित मेरी vimrc फ़ाइल में अभी भी जोड़ा »" नियमित रूप से "अगर" अगर मेरा इंडेंट गलत है। बेहद सुविधाजनक। उम्मीद है कि यह मदद करता है।

+1

यह मेरे लिए काम करता है। Thx – goFrendiAsgard

6

मुझे एक ही समस्या थी और इन सेटिंग्स ने इसे ठीक किया।

filetype on 
filetype plugin on 
filetype indent on 
+0

मैंने इसके लिए ~/.vimrc: 'फ़ाइल टाइप प्लगइन इंडेंट' के लिए एक एकल पंक्ति जोड़ा –

0

मुझे एक ही समस्या थी, और मैंने कई आदेशों का प्रयास किया है, सभी असफल रहे।
आखिरकार, मैं निम्न आदेश का उपयोग करता हूं, और यह काम करता है:
autocmd VimEnter * set autoindent
हालांकि यह एक सुरुचिपूर्ण तरीका नहीं है, हालांकि, यह काम करता है।

0

मेरे पास indentexpr में एक बाँध कार्य था जो फ़ाइल प्रकार बदलने के बाद जारी रहा। अंततः यह मेरे लिए तय किया गया:

:set indentexpr= 
संबंधित मुद्दे