目錄
- 【vim】極簡完美配置b-vim(一)安裝教程及目錄說明
- 【vim】極簡完美配置b-vim(二)vimrc 文件說明
- 【vim】極簡完美配置b-vim(三)vimrc.bundles 文件說明
- 【vim】極簡完美配置b-vim(四)vimrc.config_base 文件說明
- 【vim】極簡完美配置b-vim(五)vimrc.config_filetype 文件說明
- 【vim】極簡完美配置b-vim(六)其他目錄及情況說明
如果覺得好,記得點(diǎn)個(gè)贊哦,??!
如果使用了,記得在 b-vim 上 star 一下哦。
前言
我的全部配置文件 b-dotfiles !
最開始接觸 vim時(shí),總是羨慕別人的vim可以做的事情遠(yuǎn)遠(yuǎn)多于我。于是自己去找網(wǎng)上已有的好配置,先后用過比較出名的:
spf13-vim
k-vim
但他們都有自己的缺點(diǎn),spf13
里面的插件太多且組織有點(diǎn)亂,并不是按照每個(gè)插件的配置緊跟著插件。所以對于初用者來說,你根本不知道想改一個(gè)東西在哪里改!而 k-vim
里主要的面向?qū)ο笫莗ython,對C/C++的支持很爛,而且看起來結(jié)構(gòu)挺好的,但也有插件配置和基礎(chǔ)配置混合的問題,這個(gè)問題導(dǎo)致你只能用他定義好的,想改的話,很難!
所以在自己的學(xué)習(xí)過程中,逐漸構(gòu)造,吸收好的配置,更改差的,形成了自己的 vim 配置 b-vim
,也在同學(xué)同事中使用后獲得了較好的評價(jià)。但他們反映,如果有個(gè)說明文檔的話可能會更好,于是直到現(xiàn)在打算寫一下配置文檔。
b-vim 隸屬于我的所有配置文件倉庫b-dotfiles中的一個(gè)。(b-dotfiles配置包括 shell
、tmux
、git
、man
配置,接下來會在另外的文檔中說明)。b-vim
主要插件的配置為 C/C++ 、python、go等服務(wù)的。如果有其他使用的,可以在插件里進(jìn)行增加相應(yīng)插件。
這里只說一下 b-vim :
https://github.com/nine2/b-vim
安裝教程
由于b-vim是一個(gè)子配置,所以需要按下面方法進(jìn)行配置:
git clone https://github.com/nine2/b-vim
或 git clone git@github.com:nine2/b-vim
cd b-vim/install-shell
./install-vim.sh # 安裝簡潔版,插件即下即用,不熟悉vim的話,建議先使用這個(gè),有時(shí)間折騰YCM的話就用下面??的安裝方式
或 ./install-vim.sh --complex # 安裝完整強(qiáng)大版,主要是使用了 YouCompleteMe
注: 以前的腳本可能會出現(xiàn)下面的問題,目前的新腳本已經(jīng)不會了。
在首次安裝時(shí),會出現(xiàn)以下錯(cuò)誤界面,這是正常情況,可直接按Enter
鍵繼續(xù)即可,下載插件時(shí)間和具體網(wǎng)絡(luò)有關(guān),如果更新第一個(gè)插件gmarik/vundle
時(shí)間比較長,等待即可。如果很長時(shí)間后無反應(yīng)(10分鐘后),可以ctrl + c
關(guān)閉,等網(wǎng)絡(luò)好時(shí)打開 vim (此時(shí)會報(bào)各種錯(cuò)誤,繼續(xù)即可),輸入指令:BundleInstall!
手動安裝。
Receiving objects: 100% (3085/3085), 923.16 KiB | 387.00 KiB/s, done.
Resolving deltas: 100% (1077/1077), done.
Checking connectivity... done.
Step 5: update/install plugins using Vundle -------- Vim
Error detected while processing /root/.vimrc.bundles:
line 42:
E185: Cannot find color scheme 'molokai'
Press ENTER or type command to continue
建議如果是自己的機(jī)器的話,嘗試安裝下 ./install-vim.sh --complex
版,這個(gè)需要手動去編譯安裝 YouCompleteMe , 這個(gè)網(wǎng)上教程很多,就不多說。
如果是服務(wù)器或者不需要、不想那么麻煩的去編譯的話,建議使用默認(rèn)方式 ./install-vim.sh
,腳本跑完就可以直接使用,簡單高效。
安裝后,在 $HOME
目錄下只會有一個(gè) .vimrc
文件,其他的相關(guān)文件并沒有在 $HOME
下,真因?yàn)檫@一點(diǎn),后面可以實(shí)現(xiàn)同賬號下使用多種 vim 配置并存,這個(gè)后面再細(xì)說。
安裝腳本會在 .bashrc
里導(dǎo)入兩個(gè)環(huán)境變量:
# vim 使用配置文件的目錄,為 b-vim/config 所在的絕對路徑
export VIM_CONFIG_PATH=/Users/long/mydotfiles/b-dotfiles/b-vim/config
# vim 運(yùn)行時(shí)使用的插件目錄等,即原來相對于 $HOME/.vim 的 目錄
export VIM_TMP_PATH=/Users/long/mydotfiles/b-dotfiles/b-vim/.vim
通過將這兩個(gè)環(huán)境變量修改為你自己 b-vim 所在位置,就可以使用了,如果你本身沒有 .bashrc.local
的話,可以將上面的配置寫入到 .bashrc
里,然后 source ~/.bashrc
即可生效。
b-vim
目錄結(jié)構(gòu):
README.md
中簡單說明了b-vim的相關(guān)內(nèi)容;-
install-shell
: 存放使用 b-vim 配置的安裝腳本。-
install-vim.sh
: vim 安裝配置文件安裝腳本,默認(rèn)配置的 vimrc.bundles 文件內(nèi)容;使用參數(shù)--complex
來安裝配置 vimrc.bundles_complex 文件。
-
-
config
目錄為主要的vim 配置文件,目錄內(nèi)容為:-
vimrc
: vim 配置的主文件 -
vimrc.config_base
: vim 基本配置文件,里面只有vim的基本配置內(nèi)容,不包含任何插件配置; -
vimrc.config_filetype
: vim 對于特定文件類型的特定配置; -
vimrc.bundles_base
: vim 中使用的 簡單版和復(fù)雜版公用的 插件; -
vimrc.bundles_simple
: vim中使用的簡易服務(wù)器版插件配置,包含使用的插件和其對應(yīng)的配置,插件是在vimrc.bundles_base
基礎(chǔ)上不同于 complex 版的部分; -
vimrc.bundles_complex
: vim 復(fù)雜版本也是功能最強(qiáng)大的版本,自動補(bǔ)全使用的是YouCompleteMe ,如果是自己的電腦,建議安裝這個(gè)版本的插件,有點(diǎn)麻煩,但絕對值得,下面詳細(xì)說明,插件是在vimrc.bundles_base
基礎(chǔ)上不同于 simple 版的部分。 -
vimrc.workspace
: 重點(diǎn),可針對不同的項(xiàng)目配置不同的 vim 配置,如在 python 項(xiàng)目中關(guān)閉 tab 轉(zhuǎn)換為空格,其他項(xiàng)目正常轉(zhuǎn)換,同時(shí),設(shè)置項(xiàng)目使用 tags 好 path ,這個(gè)下面細(xì)說。
-
-
projects : 里面包含了給具體項(xiàng)目使用的配置文件
-
tags_list_linux
放置默認(rèn)給ctags使用的系統(tǒng)include頭文件目錄,用以生成對應(yīng)的系統(tǒng)級include頭文件的tags文件, linux上的默認(rèn)include頭文件目錄; -
tags_list_mac
: mac上的默認(rèn)include頭文件目錄,包含STL -
workspace.vim
: 配合上面說的vimrc.workspace
使用的東西,下面細(xì)說。 -
workspace_syntax.vim
:配合插件 nine2/vim-custom-syntax 使用的文件,可以設(shè)置項(xiàng)目對應(yīng)的語法配置,具體查看項(xiàng)目:https://github.com/nine2/vim-custom-syntax 。 -
ycm_simple_conf_mac_cpp_base_dir.xml
: 配合插件 tdcdev/ycm_simple_conf 使用的,這個(gè)使用查看插件即可,同時(shí)這個(gè)只有在 complex 時(shí)才生效,因?yàn)槭桥浜?YouCompleteMe 的。
-
下面說下上面的重點(diǎn)部分:
vimrc.workspace
平時(shí)在自己的機(jī)子上,不可能所有項(xiàng)目使用的vim配置都是一樣的,特別是每個(gè)項(xiàng)目使用的 tags 就可能不一樣,同時(shí)有些項(xiàng)目如果使用了第三方庫,也可能會引入對應(yīng)庫的 tags,這樣就可以完成從當(dāng)前項(xiàng)目的標(biāo)識符跳轉(zhuǎn)到第三方庫上去。因此不太可能把所有的這些都配置到一個(gè) vimrc 配置里,這里的解決方式是:從打開文件所在目錄向前查找文件 .workspace.vim
,直到找到 $HOME
目錄或 /
目錄為止,找到的第一個(gè) .workspace.vim
會被加載起來。因此,只需在當(dāng)前項(xiàng)目的根目錄增加一個(gè) .workspace.vim
文件即可,至于 .workspace.vim
的內(nèi)容,默認(rèn)可以直接 :
copy pathTo-b-vim/projects/workspace.vim pathToYourProject/.workspace.vim
注意: .workspace.vim
是所有 vim 配置中最后加載起來的,因此可以在里面改寫之前的默認(rèn)設(shè)置。
projects/workspace_syntax.vim
這個(gè)文件需要使用到我的另一個(gè)插件: nine2/vim-custom-syntax ,其主要作用即是開啟語法高亮等,特別是可以自定義語法高亮,加載方式和 .workspace.vim
一樣,但會先加載 bundle/vim-custom-syntax/after/syntax/workspace_syntax.vim
,然后再加載項(xiàng)目目錄中出現(xiàn)的 .workspace_syntax.vim
。關(guān)于插件的說明,請參考:https://github.com/nine2/vim-custom-syntax,這里不再細(xì)說。
ycm_simple_conf_mac_cpp_base_dir.xml
文件里有使用說明,這里不再細(xì)說。
<!-- " ###### 配置自己當(dāng)前項(xiàng)目的特殊vim 配置 -->
<!-- " 使用方法,將此配置文件copy 到要使用的項(xiàng)目目錄下, -->
<!-- " 并更名為 .ycm_simple_conf.xml 即可 -->
<!-- " 或使用本配置的 shell 配置,加載后使用命令:proconf 即可, -->
<!-- " 命令可參見 bash_alias.sh 文件 -->
<!-- " 這里默認(rèn)是 c++ ,路徑默認(rèn)的是 mac 的,可根據(jù)自己的實(shí)際情況更改添加 -->
<!-- " 路徑不存在并不影響 -->
同時(shí),自定義項(xiàng)目的文件部分,可以配合 b-dotfiles
倉庫中 b-shell
使用,效果會更好。
vim 的兩個(gè)環(huán)境變量
上面提到的兩個(gè)環(huán)境變量 VIM_CONFIG_PATH,VIM_TMP_PATH
控制著vim 使用的配置以及運(yùn)行時(shí)目錄的具體位置,因此可以通過修改這兩個(gè)變量來控制vim啟用的配置。這有個(gè)巨大的好處:在同一用戶下,同時(shí)擁有多個(gè)完全不同版本的vim配置,而切換他們只需要修改 兩個(gè)環(huán)境變量 VIM_CONFIG_PATH,VIM_TMP_PATH
的值即可,因此,可在 .bashrc
或 .zshrc
(如果使用了 zsh) 中增加下面的代碼來控制:
alias bvim="export VIM_CONFIG_PATH=new_config_dir; export VIM_TMP_PATH=new_tmp_dir;"
alias bvimde="export VIM_CONFIG_PATH=$HOME; export VIM_TMP_PATH=$HOME/.vim;"
這個(gè)方式不僅僅是可用在 b-vim 上,其他的配置通過稍微的修改變通,一樣能達(dá)到相同的效果。
具體配置信息留待后面再細(xì)說吧。
如果覺得好,記得點(diǎn)個(gè)贊哦,??!
如果使用了,記得在 b-vim 上 star 一下哦。
目錄
- 【vim】極簡完美配置b-vim(一)安裝教程及目錄說明
- 【vim】極簡完美配置b-vim(二)vimrc 文件說明
- 【vim】極簡完美配置b-vim(三)vimrc.bundles 文件說明
- 【vim】極簡完美配置b-vim(四)vimrc.config_base 文件說明
- 【vim】極簡完美配置b-vim(五)vimrc.config_filetype 文件說明
- 【vim】極簡完美配置b-vim(六)其他目錄及情況說明