В моем .vimrc файле у меня есть эта строка..
filetype plugin indent on
и затем в ~/.vim/ftplugin/py.vimrc
(Я также попытался сохранить его как .vim файл), я скопировал и вставил vimrc файл для стандартов Python и включил все предложенные настройки в нем (непрокомментированный их). Когда я создаю и открываю test.py файл и делаю что-то как вкладка, это идет 8 пробелов вместо 4.
Не уверенный, что идет не так, как надо.
Я заменил бы
au BufRead,BufNewFile *.py,*pyw set shiftwidth=4
au BufRead,BufNewFile *.py,*.pyw set expandtab
fu Select_c_style()
if search('^\t', 'n', 150)
set shiftwidth=8
set noexpandtab
el
set shiftwidth=4
set expandtab
en
endf
с
" indenting
set cindent
set autoindent
set shiftwidth=4
set softtabstop=4
set tabstop=4
set expandtab
set backspace=indent,eol,start
потому что это не ясно это ни один Select_c_style()
функция становится названной или что заключенный в кавычки код достаточно.
Да, мое второе извлечение .vimrc в значительной степени препятствует тому, чтобы Вы использовали вкладки где угодно без явной Вкладки Ctrl-V, но литеральные вкладки в большинстве ситуаций Unixy являются просто раздражителем так или иначе. (и Pythonistas, которые отправляют .vimrc файлы с сокращениями энергии, должны быть вынуждены использовать блокнот, но это - другой вопрос ;)
Короткий ответ - то, что необходимо поместить тот файл в ~/.vim/plugin каталог, а не в ~/.vim/ftplugin каталог. Если Вы сделаете это, то не будет иметь значения, каково базовое имя файла, но суффикс должен быть ".vim".
Согласно заголовку Вашего файла, это может быть получено в любое время и не будет влиять ни на какие файлы кроме файлов Python. Таким образом, безопасно поместить файл в Ваш ~/.vim/plugin каталог, где это будет получено каждый раз, когда Вы запускаете Vim.
Существует три причины, помещая py.vimrc в Вашем ~/.vim/ftplugin, каталог не работает. Прежде всего, суффикс должен быть ".vim". Второе - то, что базовое имя файла должно совпасть с именем Vim типа файла. Для Python типом файла является "Python". Поэтому название плагина типа файла для Python должно быть "python.vim". Третья причина состоит в том, что автокоманды в том файле читаются, когда файл получен, который был бы, когда Вы открываете исходный файл Python (если все остальное было корректно). Их команды затем готовы быть выполненными в следующий раз, когда Вы открываете файл Python.
Наконец, не изменяйте настройки 'позиции табуляции' на 4. Даже если Вы используете добавление отступа 4, устанавливаете 'shiftwidth' на 4 и возможно 'softtabstop' к 4, но оставляете 'позицию табуляции' в 8. Причина состоит в том, что в прошлый раз я проверил, интерпретатор Python принимает позиции табуляции 8. Если Вы осторожны и последовательны, можно сойти с рук использование других значений 'позиции табуляции', но я думаю, что это опасно.