По сути, мои конфигурации работают для первого файла, который я открываю, но затем не работают должным образом, когда я открываю последующие файлы. У меня конкретно проблема с файлами Python, но я предполагаю, что, учитывая характер проблемы, она, вероятно, существует для других файлов.
У меня есть мои конфигурации python в моем .vimrc следующим образом
au BufNewFile,BufRead *.py
\ set tabstop=4 |
\ set softtabstop=4 |
\ set shiftwidth=4 |
\ set textwidth=89 | " PEP-8 prefers 80
\ set expandtab |
\ set autoindent |
\ set foldmethod=syntax
au BufNewFile *.py set fileformat=unix
Когда я редактирую новый файл Python в первый раз, расширение вкладки устанавливается без проблем. Однако, когда я открываю второй файл Python из vim, он открывает файл и идентифицирует его как файл Python (filetype=python
), но expandtab
отключен! То же самое произойдет, если я открою третий, четвертый или пятый файл.
Теперь, если вместо этого я запущу Vim для редактирования второго файла Python, expandtab
будет правильно установлен! Однако, когда я открываю первый файл Python для редактирования, expandtab
отключен. Даже если я запущу Vim, редактируя два файла (например, запустив vim margins.py marginsio.py
из bash), в первом буфере будет установлен expandtab
, как и предполагалось, а во втором буфере не установлен expandtab
. Теперь, если я запущу Vim с файлом, отличным от Python, а затем открою файл Python для редактирования, файл Python будет иметь expandtab
. Однако любые последующие файлы Python, которые я открываю, не имеют набора expandtab
.
Наконец, если я запускаю vim, скажем, vim margins.py
, затем открываю новый файл python marginsio.py (который не имеет установленного expandtab
, когда я открываю его), затем закрываю margins.py, затем снова открываю поля .py из vim, для margins.py установлено expandtab
!
Запуск Vim 7.4 в Ubuntu 14.04.5 в подсистеме Windows для Linux (в Windows 10). Я бы предположил, что WSL здесь не влияет, но я использовал Vim много лет и никогда (сознательно) не сталкивался с этим раньше. set noexpandtab
вообще нет ни в моем .vimrc, ни в каком-либо из моих ~/.vim/ конфигураций, и проблема сохраняется, если я запускаю vim без плагинов.