2014-02-18 63 views
1

我正在嘗試爲我的C++項目使用google.vimand on vim.org)縮進樣式,但似乎無法加載它。我使用vundle安裝了google.vim並打開了一個cpp文件,並注意到我的tabstops,shiftwidths等沒有改變。如果您設置全局ts和sw參數,它們是不是被覆蓋?在vim中編輯文件時,你如何強制一定的縮進?編輯cpp文件時,我希望我的vimrc文件中的所有內容都被google.vim文件覆蓋。在Vim中加載google.vim縮進文件

運行Vim的:filetype命令揭示了這樣的信息:

 detection:ON plugin:ON indent:ON 

底線是,我不知道如何告訴Vim用我的位於在〜/ vim的/ vundle google.vim文件/google.vim/indent/google.vim。從我讀過的內容來看,vim會檢測當前文件的文件類型,並使用相應的.vim文件進行語法和縮進。那麼我會不得不將我的google.vim文件重命名爲cpp.vim?

在大多數情況下,我喜歡使用3的tabstop和3的shiftwidth,所以我將它們設置在我的.vimrc文件中。但是,當我編輯cpp文件時,我希望將所有設置從全局設置更改爲google.vim文件設置的內容。

+0

我得到一個錯誤信息,如果我進入你的高亮線。有關正確的語法,請參閱':help:filetype-overview':你想':filetype plugin indent on'。將此行添加到vimrc文件並安裝後,需要(1)重新啓動vim和(2)編輯C++文件。如果您需要進一步的幫助,請包含一個指向google.vim插件的鏈接。 – benjifisher

+0

對不起,我包含的行並不打算運行,我只是簡單地顯示':filtype'的輸出是爲了清楚我已經檢測到文件。總之,到github google.vim項目的鏈接在這裏:https://github.com/vim-scripts/google.vim。我只想用上面.vim文件中的設置覆蓋當前的設置。對於我的大多數文件,我使用tabstop和3,但谷歌縮進使用2的tabstop和shiftwidth(當然還有很多其他的東西)。我只是不明白如何「打開」谷歌。 vim indent file ..或任何.vim縮進文件 – user985030

+0

您是否在我的第一條評論中描述了步驟(1)和(2)? – benjifisher

回答

3

您必須將文件從google.vim重命名爲cpp.vim,如the description of the plugin on vim.org中所示。

一般的解釋:

添加filetype plugin indent on~/.vimrc使得Vim檢測到您編輯的文件(通常根據文件擴展)和源特定文件類型插件和縮進腳本的文件類型。

的想法很簡單:您編輯文件與文件類型{{LANGUAGE}}和Vim試圖來源的任何ftplugin/{{LANGUAGE}}.vimindent/{{LANGUAGE}}.vim找到你runtimepath

因爲你的文件的文件類型爲cpp,Vim會幸福忽略你的google.vim縮進腳本,所以......你必須將其重命名爲cpp.vim爲它工作。

或者你可以重新命名所有的C++文件foobar.google和教Vim識別*.google文件,但是,嗯......不健全的權利;-)

+1

謝謝,這個答案是非常有幫助的。將google.vim重命名爲cpp.vim是需要完成的。此外,vundle在安裝google.vim插件時沒有正確管理'runtimepath'。該路徑顯示它正在查看〜。/ vim/bundle/google。vim/after之後,實際上沒有'after'目錄只是一個'indent'目錄。所以通過重命名文件並添加正確的運行時路徑,我可以使用google.vim縮進文件。我想我應該讓Vundle在安裝額外的vim腳本時並不總是關心我的一切。 – user985030

+0

對於每個人來說,這應該是一個教訓,我想。 – romainl