Вчера я установил 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 здесь .
Я проверил проблему с отступами, используя скрипт на Python (где отступы действительно имеют значение).
Я уже попытался изменить filetype plugin indent on
к , filetype plugin on
но это ничего не меняет. Помогает только комментирование этой строки.
Теперь, как говорится в руководстве по установке vundle, эта строка обязательна.
Как мне исправить эту проблему с отступом? Могу ли я просто пропустить строку 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