2017-03-16 17 views
0

我對Vim加載插件文件的順序感到困惑,似乎是在網上找到混合的答案。 Some answers似乎表明的是那個配置的插件之前加載,而others表明,它們在被裝入的vimrc的採購,在該行filetype plugin indent on。有人可以澄清加載後/目錄中的vimrc,插件和插件的順序,導致每個文件加載的原因,以及何時可以在vim會話期間重新加載每個文件(例如,當再次獲取vimrc時會發生什麼,當發生什麼情況時會發生什麼設置文件類型等)?插件是否由vimrc或之後加載?

+0

如有疑問,您可以隨時添加一些':echomsg這裏'和' 「我在這裏!」:echomsg'有 「我在那裏!」。 –

回答

3

一些答案似乎表明,vimrc在插件之前加載,而其他人則認爲它們在vimrc的源代碼中,在文件類型插件縮進處加載。

所有的插件都源(正確的說法)除非你手動源後,他們的vimrcfiletype plugin indent on行不會更改任何順序。

有人請澄清其中的vimrc,插件,並在後/ plugins目錄加載,順序

假設你在vimrcfiletype plugin indent on

  1. 系統vimrc如果有的話。
  2. 您的vimrc
  3. 內置插件。
  4. 您的插件。
  5. 內置文件類型專用插件。
  6. 東西在after/目錄。

整件事是在:help startup解釋,可以很清楚與:scriptnames看到。

是什麼原因導致每個加載,

&runtimepath一般的值和用於特定文件類型-東西:filetype命令。

當在vim會話期間可以重新加載每個文件時(例如,在再次獲取vimrc時會發生什麼,設置文件類型時會發生什麼等)?在vimrc

  • :source $MYVIMRC重新執行每個命令。
  • 大多數插件的寫入方式會阻止它們被兩次來源。如果你想重置它們,請閱讀他們的文檔/代碼。
  • :help :filetype
+0

幫助描述'filetype plugin on'和'filetype indent on'作爲加載文件。加載它們並採購它們之間的區別是什麼? – Kvass

+0

您剛發現文檔中存在差異。可悲的是,這不是唯一的一個。 – romainl

3

.vimrc加載插件,然後執行:

啓動時,Vim檢查環境變量和文件並設置值 相應。 Vim按以下順序:

(...)

  • 執行Ex命令,從 環境變量被讀作一個實施例的命令行環境變量和/或文件,其中多個 命令必須用'|'分隔要麼 」」。 vimrc exrc 包含初始化命令的文件稱爲「vimrc」文件。 vimrc文件中的每一行都作爲Ex命令行執行。
  • (...)

  • 加載插件腳本。
  • +0

    你可以解釋那個文件類型行的影響是什麼?我在我的問題中鏈接的答案表示它加載了ftplugin和縮進文件。那是錯的嗎?請詳細說明這個答案,以便在我接受之前更全面地回答這個問題。 – Kvass

    +1

    在這種情況下,您的問題很廣泛。爲什麼不閱讀':help filetype'以獲取關於該命令的更多信息。 –

    +0

    我的確看過這個幫助,以及其他關於這個主題的堆棧溢出回答和博客文章。我問,因爲在那之後我仍然感到困惑:/如果我的問題看起來太寬泛了,也許我可以澄清我的困惑在哪裏? – Kvass

    0

    只需使用:scriptnames看到所有的源文件,以及他們在啓動時加載它們的順序。

    +0

    這不會告訴插件是否由.vimrc(IOW,而.vimrc正在源)加載,或之後。 –

    相關問題