Во-первых,
убедитесь, что следующие строки где-то вблизи верхней части vimrc
:
filetype plugin indent on
syntax on
Во-вторых,
этот фрагмент технически правильно:
autocmd FileType python set tabstop=8|set shiftwidth=4|set expandtab
autocmd FileType ruby set tabstop=8|set shiftwidth=2|set expandtab
, но это может быть сделано:
- проще и более удобным для чтения путем удаления стержней и избыточных
set
с,
безопаснее, изменяя оставшиеся, в setlocal
для того, чтобы ограничить возможности для целевой буфер:
autocmd FileType python setlocal tabstop=8 shiftwidth=4 expandtab
autocmd FileType ruby setlocal tabstop=8 shiftwidth=2 expandtab
В-третьих,
Эти автокоманды не заменяют себя при повторном источнике вашего vimrc
: они просто накапливаются, и вверх, и вверх ... пока ваш Vim не станет невыносимо медленным и не реагирующим.
Если вы настаиваете на сохранении этих параметров в вашем vimrc
было бы целесообразно использовать шаблон, описанный Коди в своем ответе:
augroup python
autocmd!
autocmd FileType python setlocal tabstop=8 shiftwidth=4 expandtab
augroup END
augroup ruby
autocmd!
autocmd FileType ruby setlocal tabstop=8 shiftwidth=2 expandtab
augroup END
Четвертую,
механизм обнаружения типа файла Vim, уже делает большая часть работы для вас ищет ftplugin/python.vim
и after/ftplugin/python.vim
в &runtimepath
каждый раз при запуске события FileType
со значением python
... которое делает добавление FileType
автокоманды на ваш vimrc
в значительной степени избыточны.
Держите vimrc
мяса и чистой, создав файл after/ftplugin/python.vim
с этим содержимым:
setlocal tabstop=8
setlocal shiftwidth=4
setlocal expandtab
и так далее для рубина и других типов файлов ...
Примечание: используйте ftplugin/python.vim
, если вы хотите, чтобы полностью переопределить default python filetype plugin и after/ftplugin/python.vim
, если вы хотите только добавить/изменить несколько вещей.
Примечание: пути относятся к ~/.vim
на unix-подобных системах и %userprofile%\vimfiles
на Windows.
Подсветка синтаксиса должна работать с заводскими настройками. Попробуйте переместить свой .vimrc, чтобы проверить это и, возможно, скопировать файл '/ usr/share/vim/vim74/vimrc_example.vim' в' ~/.vimrc'. – Kenney