網(wǎng)站建設(shè)制作汕頭外貿(mào)網(wǎng)站建設(shè)公司
文章目錄
- filetype plugin indent on 什么功能?
- vim runtimepath 詳細(xì)介紹
- vim 中 execute 命令詳細(xì)介紹
- execute pathogen#infect() 詳細(xì)介紹
filetype plugin indent on 什么功能?
在網(wǎng)上我們經(jīng)??梢钥吹絭imrc配置中有 filetype plugin indent on
這個(gè)配置,那么這個(gè)配置的功能是什么呢?
filetype plugin indent on
是 Vim 中一個(gè)用于啟動(dòng)文件類型特定的插件和縮進(jìn)的命令。
這個(gè)命令可以分為三個(gè)部分來(lái)理解:
- filetype:這個(gè)命令是用來(lái)設(shè)置或者檢測(cè)當(dāng)前文件的類型;
- plugin:這表示啟動(dòng)與文件類型相關(guān)的插件。這些插件會(huì)提供和特定文件類型相關(guān)的額外功能,比如對(duì)特定編程語(yǔ)言的補(bǔ)全、編譯等;
- indent:這表示啟動(dòng)與文件類型相關(guān)的自動(dòng)縮進(jìn)。Vim 會(huì)根據(jù)文件類型的規(guī)則來(lái)自動(dòng)調(diào)整縮進(jìn),以達(dá)到更好的代碼排版效果。
on 表示啟動(dòng)上述的功能。如果你想關(guān)閉這些功能,可以使用 off。
所以,filetype plugin indent on
命令的作用就是啟動(dòng)與當(dāng)前文件類型相關(guān)的插件以及自動(dòng)縮進(jìn)功能。
這個(gè)命令通常會(huì)放在 Vim 的配置文件(比如 .vimrc
)中,以便每次啟動(dòng) Vim 時(shí)都能自動(dòng)執(zhí)行。這樣可以讓 Vim 更好地支持各種類型的文件,提高編程效率。
vim runtimepath 詳細(xì)介紹
runtimepath 在 Vim 中是一個(gè)非常重要的設(shè)置,它決定了 Vim 在什么地方查找運(yùn)行時(shí)文件,如插件、幫助文件、語(yǔ)法文件等。
其默認(rèn)設(shè)置通常包括 Vim 的系統(tǒng)文件夾、用戶的配置文件夾,以及插件的文件夾。你可以使用 set runtimepath?
命令查看它的當(dāng)前設(shè)置。
如果你要添加一個(gè)新的路徑到 runtimepath,你可以使用以下命令:
set runtimepath+=/path/to/your/directory
例如,假設(shè)你的插件位于 ~/.vim/bundle/myplugin
,你可以使用以下命令添加它到 runtimepath:
set runtimepath+=~/.vim/bundle/myplugin
這樣,Vim 就會(huì)在這個(gè)路徑下查找運(yùn)行時(shí)文件。
需要注意的是,當(dāng)你使用某些插件管理器(如 Pathogen、Vundle、vim-plug 等)時(shí),它們會(huì)自動(dòng)管理 runtimepath 的設(shè)置,你不需要手動(dòng)修改它。
另外,runtimepath 的設(shè)置是可以包含多個(gè)路徑的,各個(gè)路徑之間使用逗號(hào)分隔。例如:
set runtimepath=/path/to/dir1,/path/to/dir2
這樣設(shè)置后,Vim 就會(huì)在 dir1 和 dir2 這兩個(gè)目錄下查找運(yùn)行時(shí)文件。
vim 中 execute 命令詳細(xì)介紹
Vim 的 execute 命令用于執(zhí)行字符串形式的 Vim 命令或表達(dá)式。
命令的基本格式如下:
execute {expr1} ..
這里的 {expr1}
是你希望執(zhí)行的字符串形式的命令或表達(dá)式。
這個(gè)命令的主要用途是執(zhí)行動(dòng)態(tài)生成的 Vim 命令。execute 命令會(huì)將其參數(shù)作為一個(gè) Vim 命令來(lái)執(zhí)行,而不是作為一個(gè)字面字符串。
例如,下面的命令將會(huì)跳轉(zhuǎn)到文件的第 10 行:
execute "normal 10G"
在這個(gè)例子中,字符串 “normal 10G
” 是一個(gè)命令,它告訴 Vim 跳轉(zhuǎn)到文件的第 10 行。
execute 命令也可以和其他 Vim 命令一起使用,以生成更復(fù)雜的行為。例如,下面的命令將會(huì)在命令行窗口執(zhí)行 ls 命令:
execute "!ls"
在這個(gè)例子中,! 是一個(gè) Vim 命令,它告訴 Vim 在命令行窗口執(zhí)行后面的字符串。
execute pathogen#infect() 詳細(xì)介紹
pathogen#infect()
是 Vim 插件管理器 Pathogen 的一個(gè)主要函數(shù),用于在 Vim 啟動(dòng)時(shí)加載所有的插件。
在 Vim 的配置文件 .vimrc 中執(zhí)行 execute pathogen#infect()
,會(huì)使得 Pathogen 自動(dòng)搜索 Vim 的插件目錄(一般是 ~/.vim/bundle/
),并加載其中的所有插件。
具體來(lái)說(shuō),pathogen#infect()
會(huì)做以下兩件事情:
- 把
~/.vim/bundle/
下每個(gè)插件的目錄分別添加到 Vim 的runtimepath
中,這樣 Vim 就能找到并加載這些插件。 - 在 Vim 啟動(dòng)時(shí)自動(dòng)執(zhí)行每個(gè)插件的腳本文件。
假設(shè)你的 ~/.vim/bundle/
目錄下有兩個(gè)插件 plugin1 和 plugin2,那么執(zhí)行 execute pathogen#infect()
就相當(dāng)于手動(dòng)執(zhí)行了以下命令:
set runtimepath+=~/.vim/bundle/plugin1
set runtimepath+=~/.vim/bundle/plugin2
這樣,Vim 就會(huì)自動(dòng)加載這兩個(gè)插件。如果你不使用 Pathogen,那么你需要手動(dòng)設(shè)置每個(gè)插件的 runtimepath,并且在 Vim 啟動(dòng)時(shí)手動(dòng)執(zhí)行每個(gè)插件的腳本文件,這樣做非常繁瑣。
總之,execute pathogen#infect()
是使用 Pathogen 管理 Vim 插件的一個(gè)重要步驟。
總的來(lái)說(shuō),execute 命令是一個(gè)非常強(qiáng)大的工具,它允許你創(chuàng)建復(fù)雜的 Vim 腳本和動(dòng)態(tài)命令。