2017-02-01 61 views
1

我知道可以選擇要檢查的Python版本在vim.rcas per this SO answer,但我可以做到每個項目?使用例如virtualenv還是配置文件?Vim&Syntastic:是否可以爲每個項目切換Python版本?

+2

從[FAQ](https://github.com/vim-syntastic/syntastic#faqpython):從'virtualenv'或'pyenv'運行Vim。在虛擬環境中安裝相關的短絨。 –

+0

@SatoKatsura謝謝。我結束了使用這個。如果您將其添加爲答案,我會接受它。 – geckon

回答

2

這一切都取決於你如何定義「這是一個項目」。

我們幾個人一直在提供本地vimrc插件,其中項目定義是「此目錄及其子目錄中的所有文件」。看到這個答案關於這一主題的詳細信息和替代方案:Vim: apply settings on files in directory

注意,最近我一直工作在不同的(和更輕巧)的方式(在大多數情況下)來指定哪些項目是:https://github.com/LucHermitte/lh-vim-lib/blob/master/doc/Project.md(此仍然是高度實驗性的)。

閱讀你已經鏈接到的答案...它只說一個全局變量,它允許調整插件的行爲。如果沒有別的辦法,只能調整這個全局選項,那麼您需要在本地vimrc中或在BufEnter自動命令中無條件地重置此全局變量。幸運的是,由於緩衝區局部變量,synthetic是項目意識 - @ lcd047糾正了我對這個主題的看法。這意味着您可以不用重置全局變量,而是根據當前目錄設置緩衝區局部變量(或者您可以在自動命令中定義的任何其他啓發式 - 無需這些插件,只需監聽BufNewBufRead事件,但是這不會支持機器,目錄等之間的遷移)。

請注意,每當我們輸入一個匹配該配置文件的緩衝區時,我的local-vimrc插件就會生成當前的本地vimrc配置文件。這意味着如果您沒有添加防止重新加入保護措施,每次您輸入已定義的緩衝區時,都會重置b:syntastic_python_python_exec。這裏不應該有這個問題。還請注意,我不知道替代插件如何進行。

+2

_不幸的是,它是另一個插件,認爲我們從來不需要在需要不同設置的多個項目上工作._ - 現在,如果只有人在做出像這樣的權威性陳述之前閱讀手冊,我們將生活在一個更美好的世界中。 Synthetic _does_注意一個局部變量'b:syntastic_python_python_exec'。不過,現在@SatoKatsura在評論中提到的解決方案是首選,因爲它適用於所有跳棋,而不僅僅適用於「python」。 – lcd047

+1

@ lcd047,那我的錯誤。我從另一篇文章中得出了不正確的結論。我會編輯我的消息。感謝您的更正。 –

相關問題