ฉันติดตั้ง vundle เมื่อวานและตั้งแต่นั้นมาแท็บที่ฉันกำหนดค่าใน vimrc ของฉันจะถูกละเว้นและตั้งค่ากลับเป็น 4 แทนที่จะเป็น 2
ฉันพบว่าบรรทัดต่อไปนี้หลังจากย่อหน้า vundle เป็นสาเหตุ:
filetype plugin indent on
การเยื้องของฉันถูกตั้งค่าเช่นนี้:
set noexpandtab " Make sure that every file uses real tabs, not spaces
set shiftround " Round indent to multiple of 'shiftwidth'
set smartindent " Do smart indenting when starting a new line
set autoindent " Copy indent from current line, over to the new line
" Set the tab width
let s:tabwidth=2
exec 'set tabstop=' .s:tabwidth
exec 'set shiftwidth=' .s:tabwidth
exec 'set softtabstop='.s:tabwidth
คุณสามารถตรวจสอบ vimrc เต็มของฉันที่นี่
ฉันทดสอบปัญหาการเยื้องโดยใช้สคริปต์ไพ ธ อน (ซึ่งการเยื้องสำคัญมาก)
ฉันลองเปลี่ยนfiletype plugin indent on
ไปfiletype plugin on
แล้วแต่ไม่เปลี่ยนอะไรเลย การใส่ความคิดเห็นเฉพาะบรรทัดนั้นจะช่วยได้
ตอนนี้คำแนะนำในการติดตั้ง vundle บอกว่าต้องมีบรรทัดนี้
ฉันจะแก้ไขปัญหาเยื้องนี้ได้อย่างไร ฉันสามารถเพียง ommit บรรทัด filetype หรือจริงๆแล้วมันบังคับให้มันอยู่ใน vimrc หรือไม่
สารละลาย:
ขอบคุณ @ChristianBrabandt และ @romainl ฉันได้พบวิธีแก้ปัญหาที่สามารถอยู่ในไฟล์ vimrc ไฟล์เดียว:
filetype plugin indent on
[ ... ]
set noexpandtab " Make sure that every file uses real tabs, not spaces
set shiftround " Round indent to multiple of 'shiftwidth'
set autoindent " Copy indent from current line, over to the new line
" Set the tab width
let s:tabwidth=2
au Filetype * let &l:tabstop = s:tabwidth
au Filetype * let &l:shiftwidth = s:tabwidth
au Filetype * let &l:softtabstop = s:tabwidth