vim目錄說明

來源:互聯網
上載者:User

標籤:

plugin、autoload、ftplugin有什麼區別

很多初用vim的朋友在安裝外掛程式時都會有些疑惑。同樣的外掛程式,有些教程說安裝在plugin目錄,有些說安裝在ftplugin目錄,有些說安裝在autoload目錄,到底這些目錄的區別是什麼呢?今天阿駒跟大家解說一下。

一般,我們安裝好vim後,應該會建立一個使用者vim檔案夾,裡面的子目錄結構和原vim的目錄結構幾乎一樣,例如在windows平台下這個名稱是vimfiles,在unix類平台下是~/.vim。但它們的子目錄結構都類似下面這樣:

|-after
|—ftplugin
|—syntax
|-autoload
|-colors
|-compiler
|-doc
|-ftplugin
|—latex-suite
|—–dictionaries
|—–macros
|—–packages
|—–templates
|—python
|-indent
|-plugin
|-spell
|-syntax

~/.vim/colors/是用來存放vim色彩配置的。

~/.vim/plugin/存放的是每次啟動vim都會被運行一次的外掛程式,也就是說只要你想在vim啟動時就啟動並執行外掛程式就放在這個目錄下。

~/.vim/ftdetect/中的檔案同樣也會在vim啟動時就運行。有些時候可能沒有這個目錄。ftdetect代表的是“filetype detection(檔案類型檢測)”。此目錄中的檔案應該用自動命令(autocommands)來檢測和設定檔案的類型,除此之外並無其他。也就是說,它們只該有一兩行而已。

~/.vim/ftplugin/此目錄中的檔案有些不同。當vim給緩衝區的filetype設定一個值時,vim將會在~/.vim/ftplugin/ 目錄下來尋找和filetype相同名字的檔案。例如你運行set filetype=derp這條命令後,vim將尋找~/.vim/ftplugin/derp.vim此檔案,如果存在就運行它。不僅如此,它還會運行ftplugin下相同名字的子目錄中的所有檔案,如~/.vim/ftplugin/derp/這個檔案夾下的檔案都會被運行。每次啟用時,應該為不同的檔案類型設定局部緩衝選項,如果設定為全域緩衝選項的話,將會覆蓋所有開啟的緩衝區。

~/.vim/indent/這裡面的檔案和ftplugin中的很像,它們也是根據它們的名字來載入的。它放置了相關檔案類型的縮排。例如python應該怎麼縮排,java應該怎麼縮排等等。其實放在ftplugin中也可以,但單獨列出來只是為了方便檔案管理和理解。

~/.vim/compiler/和indent很像,它放的是相應檔案類型應該如何編譯的選項。

~/.vim/after/這裡面的檔案也會在vim每次啟動的時候載入,不過是等待~/.vim/plugin/載入完成之後才載入after裡的內容,所以叫做after。

~/.vim/autoload/它是一個非常重要的目錄,儘管聽起來比實際複雜。簡而言之,它裡面放置的是當你真正需要的時候才被自動載入啟動並執行檔案,而不是在vim啟動時就載入。

~/.vim/doc/為外掛程式放置文檔的地方。例如:help的時候可以用到。

~/.vim/spell/拼字檢查指令碼。

~/.vim/syntax/文法描述指令碼。

vim目錄說明

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.