2017-02-01 13 views
1

Я знаю, что можно выбрать версию Python для проверки, например. в vim.rcas per this SO answer, но могу ли я сделать это для каждого проекта? Использование, например, virtualenv или файл конфигурации?Vim & Syntastic: Можно ли переключать версию Python на проект?

+2

Из [FAQ] (https://github.com/vim-syntastic/syntastic#faqpython): запустите Vim из 'virtualenv' или' pyenv'. Установите соответствующие линтеры в виртуальной среде. –

+0

@SatoKatsura Спасибо. Я закончил тем, что использовал это. Если вы добавите его в качестве ответа, я соглашусь с ним. – geckon

ответ

2

Все зависит от того, как вы определяете «это проект».

Некоторые из нас предоставляют локальные плагины vimrc, где определение проекта - «все файлы в этом каталоге и его подкаталогах». См. Этот ответ для получения более подробной информации и альтернативных решений по этому вопросу: Vim: apply settings on files in directory

Обратите внимание, что в последнее время я работал над другим (и более легким) способом (в большинстве случаев), чтобы указать, что такое проект: https://github.com/LucHermitte/lh-vim-lib/blob/master/doc/Project.md (This все еще очень экспериментально).

Чтение ответа, с которым вы связались ... Он говорит только о глобальной переменной, которая позволяет настраивать поведение плагина. Если бы не было другого способа, кроме настройки этого глобального параметра, вам необходимо было бы безошибочно сбросить эту глобальную переменную в локальном vimrc или на автокоманду BufEnter. К счастью, синтаксис - это осознание проекта благодаря буферным локальным переменным - @ lcd047 исправил меня по этой теме. Это означает, что вместо сброса глобальной переменной вы могли бы вместо этого установить локальную переменную буфера в зависимости от текущего каталога (или любой другой эвристики, которую вы могли бы определить в автокоманде) без этих плагинов, вы могли бы просто прослушивать события BufNew и BufRead, но это не будет поддерживать миграцию между машинами, каталогами и т. д.).

Обратите внимание, что мой локальный vimrc-плагин передает текущий локальный файл конфигурации vimrc каждый раз, когда мы вводим буфер, соответствующий этому конфигурационному файлу. Это означает, что если вы не добавите защиту от повторного включения, b:syntastic_python_python_exec будет сброшен каждый раз, когда вы введете буфер, для которого он был определен. Здесь не должно быть проблем. Также обратите внимание, что я не знаю, как идут альтернативные плагины.

+2

_К сожалению, это еще один плагин, который считает, что мы никогда не работаем над несколькими проектами, требующими разных настроек. - Теперь, если бы только люди читали руководство перед тем, как делать подобные заявления, мы бы жили в лучшем мире. Syntastic _does_ обратите внимание на локальную переменную 'b: syntastic_python_python_exec'. Тем не менее, решение, упомянутое в комментариях @SatoKatsura, предпочтительнее в наши дни, поскольку оно работает для всех шашек, а не только для 'python'. – lcd047

+1

@ lcd047, Моя ошибка тогда. Я сделал неправильные выводы из другого поста. Я отредактирую свое сообщение. Спасибо за исправление. –

 Смежные вопросы

  • Нет связанных вопросов^_^