Включение плагина типа файла энергии

В моем .vimrc файле у меня есть эта строка..

filetype plugin indent on

и затем в ~/.vim/ftplugin/py.vimrc (Я также попытался сохранить его как .vim файл), я скопировал и вставил vimrc файл для стандартов Python и включил все предложенные настройки в нем (непрокомментированный их). Когда я создаю и открываю test.py файл и делаю что-то как вкладка, это идет 8 пробелов вместо 4.

Не уверенный, что идет не так, как надо.

4
задан 16.06.2010, 01:29

3 ответа

Я заменил бы

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 файлы с сокращениями энергии, должны быть вынуждены использовать блокнот, но это - другой вопрос ;)

1
ответ дан 07.12.2019, 22:40

Короткий ответ - то, что необходимо поместить тот файл в ~/.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. Если Вы осторожны и последовательны, можно сойти с рук использование других значений 'позиции табуляции', но я думаю, что это опасно.

0
ответ дан 07.12.2019, 22:40

Вы устанавливаете filetype plugin on? Вы, возможно, должны были бы сделать это, а не просто filetype plugin indent on.

-1
ответ дан 07.12.2019, 22:40

Теги

Похожие вопросы