【vim】極簡完美配置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è)插件的配置緊跟著插件。所以對于初用者來說,你根本不知道想改一個(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配置包括 shelltmuxgitman 配置,接下來會在另外的文檔中說明)。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):

目錄結(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-vimstar 一下哦。

目錄

freepic-1523850343802.jpg

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,431評論 6 544
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,637評論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,555評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,900評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,629評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,976評論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,976評論 3 448
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 43,139評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,686評論 1 336
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,411評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,641評論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,129評論 5 364
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,820評論 3 350
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,233評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,567評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,362評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,604評論 2 380

推薦閱讀更多精彩內(nèi)容