【vim】極簡(jiǎn)完美配置b-vim(一)安裝教程及目錄說明

目錄

如果覺得好,記得點(diǎn)個(gè)贊哦,??!
如果使用了,記得在 b-vimstar 一下哦。


前言

我的全部配置文件 b-dotfiles !
最開始接觸 vim時(shí),總是羨慕別人的vim可以做的事情遠(yuǎn)遠(yuǎn)多于我。于是自己去找網(wǎng)上已有的好配置,先后用過比較出名的:
spf13-vim
k-vim

但他們都有自己的缺點(diǎn),spf13 里面的插件太多且組織有點(diǎn)亂,并不是按照每個(gè)插件的配置緊跟著插件。所以對(duì)于初用者來說,你根本不知道想改一個(gè)東西在哪里改!而 k-vim 里主要的面向?qū)ο笫莗ython,對(duì)C/C++的支持很爛,而且看起來結(jié)構(gòu)挺好的,但也有插件配置和基礎(chǔ)配置混合的問題,這個(gè)問題導(dǎo)致你只能用他定義好的,想改的話,很難!

所以在自己的學(xué)習(xí)過程中,逐漸構(gòu)造,吸收好的配置,更改差的,形成了自己的 vim 配置 b-vim,也在同學(xué)同事中使用后獲得了較好的評(píng)價(jià)。但他們反映,如果有個(gè)說明文檔的話可能會(huì)更好,于是直到現(xiàn)在打算寫一下配置文檔。

b-vim 隸屬于我的所有配置文件倉(cāng)庫b-dotfiles中的一個(gè)。(b-dotfiles配置包括 shell 、tmuxgit 、man 配置,接下來會(huì)在另外的文檔中說明)。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    # 安裝簡(jiǎn)潔版,插件即下即用,不熟悉vim的話,建議先使用這個(gè),有時(shí)間折騰YCM的話就用下面??的安裝方式
或 ./install-vim.sh --complex    #  安裝完整強(qiáng)大版,主要是使用了 YouCompleteMe

注: 以前的腳本可能會(huì)出現(xiàn)下面的問題,目前的新腳本已經(jīng)不會(huì)了。
在首次安裝時(shí),會(huì)出現(xiàn)以下錯(cuò)誤界面,這是正常情況,可直接按 Enter 鍵繼續(xù)即可,下載插件時(shí)間和具體網(wǎng)絡(luò)有關(guān),如果更新第一個(gè)插件 gmarik/vundle 時(shí)間比較長(zhǎng),等待即可。如果很長(zhǎng)時(shí)間后無反應(yīng)(10分鐘后),可以 ctrl + c 關(guān)閉,等網(wǎng)絡(luò)好時(shí)打開 vim (此時(shí)會(huì)報(bào)各種錯(cuò)誤,繼續(xù)即可),輸入指令 :BundleInstall! 手動(dòng)安裝。

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è)需要手動(dòng)去編譯安裝 YouCompleteMe , 這個(gè)網(wǎng)上教程很多,就不多說。
如果是服務(wù)器或者不需要、不想那么麻煩的去編譯的話,建議使用默認(rèn)方式 ./install-vim.sh,腳本跑完就可以直接使用,簡(jiǎn)單高效。

安裝后,在 $HOME 目錄下只會(huì)有一個(gè) .vimrc 文件,其他的相關(guān)文件并沒有在 $HOME 下,真因?yàn)檫@一點(diǎn),后面可以實(shí)現(xiàn)同賬號(hào)下使用多種 vim 配置并存,這個(gè)后面再細(xì)說。

安裝腳本會(huì)在 .bashrc 里導(dǎo)入兩個(gè)環(huán)境變量:

# vim 使用配置文件的目錄,為 b-vim/config 所在的絕對(duì)路徑
export VIM_CONFIG_PATH=/Users/long/mydotfiles/b-dotfiles/b-vim/config
# vim 運(yùn)行時(shí)使用的插件目錄等,即原來相對(duì)于 $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):

目錄結(jié)構(gòu)
  • README.md中簡(jiǎn)單說明了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 對(duì)于特定文件類型的特定配置;
    • vimrc.bundles_base : vim 中使用的 簡(jiǎn)單版和復(fù)雜版公用的 插件;
    • vimrc.bundles_simple : vim中使用的簡(jiǎn)易服務(wù)器版插件配置,包含使用的插件和其對(duì)應(yīng)的配置,插件是在 vimrc.bundles_base 基礎(chǔ)上不同于 complex 版的部分;
    • vimrc.bundles_complex : vim 復(fù)雜版本也是功能最強(qiáng)大的版本,自動(dòng)補(bǔ)全使用的是YouCompleteMe ,如果是自己的電腦,建議安裝這個(gè)版本的插件,有點(diǎn)麻煩,但絕對(duì)值得,下面詳細(xì)說明,插件是在 vimrc.bundles_base 基礎(chǔ)上不同于 simple 版的部分。
    • vimrc.workspace : 重點(diǎn),可針對(duì)不同的項(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頭文件目錄,用以生成對(duì)應(yīng)的系統(tǒng)級(jí)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)目對(duì)應(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)目如果使用了第三方庫,也可能會(huì)引入對(duì)應(yīng)庫的 tags,這樣就可以完成從當(dāng)前項(xiàng)目的標(biāo)識(shí)符跳轉(zhuǎn)到第三方庫上去。因此不太可能把所有的這些都配置到一個(gè) vimrc 配置里,這里的解決方式是:從打開文件所在目錄向前查找文件 .workspace.vim,直到找到 $HOME 目錄或 / 目錄為止,找到的第一個(gè) .workspace.vim 會(huì)被加載起來。因此,只需在當(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 一樣,但會(huì)先加載 bundle/vim-custom-syntax/after/syntax/workspace_syntax.vim,然后再加載項(xiàng)目目錄中出現(xiàn)的 .workspace_syntax.vim。關(guān)于插件的說明,請(qǐng)參考: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 倉(cāng)庫中 b-shell 使用,效果會(huì)更好。

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-vimstar 一下哦。

目錄

freepic-1523850343802.jpg

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容