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

目錄

如果覺得好,記得點個贊哦头滔,??枣接!
如果使用了王凑,記得在 b-vimstar 一下哦。


前言

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

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

所以在自己的學習過程中纯命,逐漸構(gòu)造,吸收好的配置桦锄,更改差的扎附,形成了自己的 vim 配置 b-vim,也在同學同事中使用后獲得了較好的評價结耀。但他們反映留夜,如果有個說明文檔的話可能會更好,于是直到現(xiàn)在打算寫一下配置文檔图甜。

b-vim 隸屬于我的所有配置文件倉庫b-dotfiles中的一個碍粥。(b-dotfiles配置包括 shelltmux 黑毅、git 嚼摩、man 配置,接下來會在另外的文檔中說明)矿瘦。b-vim 主要插件的配置為 C/C++ 枕面、python、go等服務的缚去。如果有其他使用的潮秘,可以在插件里進行增加相應插件。

這里只說一下 b-vim :
https://github.com/nine2/b-vim

安裝教程

由于b-vim是一個子配置易结,所以需要按下面方法進行配置:

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的話搞动,建議先使用這個躏精,有時間折騰YCM的話就用下面??的安裝方式
或 ./install-vim.sh --complex    #  安裝完整強大版,主要是使用了 YouCompleteMe

注: 以前的腳本可能會出現(xiàn)下面的問題鹦肿,目前的新腳本已經(jīng)不會了矗烛。
在首次安裝時,會出現(xiàn)以下錯誤界面箩溃,這是正常情況高诺,可直接按 Enter 鍵繼續(xù)即可,下載插件時間和具體網(wǎng)絡有關碾篡,如果更新第一個插件 gmarik/vundle 時間比較長虱而,等待即可。如果很長時間后無反應(10分鐘后)开泽,可以 ctrl + c 關閉牡拇,等網(wǎng)絡好時打開 vim (此時會報各種錯誤,繼續(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

建議如果是自己的機器的話导俘,嘗試安裝下 ./install-vim.sh --complex 版,這個需要手動去編譯安裝 YouCompleteMe , 這個網(wǎng)上教程很多剔蹋,就不多說旅薄。
如果是服務器或者不需要、不想那么麻煩的去編譯的話泣崩,建議使用默認方式 ./install-vim.sh少梁,腳本跑完就可以直接使用,簡單高效矫付。

安裝后凯沪,在 $HOME 目錄下只會有一個 .vimrc 文件,其他的相關文件并沒有在 $HOME 下买优,真因為這一點妨马,后面可以實現(xiàn)同賬號下使用多種 vim 配置并存,這個后面再細說杀赢。

安裝腳本會在 .bashrc 里導入兩個環(huán)境變量:

# vim 使用配置文件的目錄烘跺,為 b-vim/config 所在的絕對路徑
export VIM_CONFIG_PATH=/Users/long/mydotfiles/b-dotfiles/b-vim/config
# vim 運行時使用的插件目錄等,即原來相對于 $HOME/.vim 的 目錄
export VIM_TMP_PATH=/Users/long/mydotfiles/b-dotfiles/b-vim/.vim

通過將這兩個環(huán)境變量修改為你自己 b-vim 所在位置脂崔,就可以使用了液荸,如果你本身沒有 .bashrc.local 的話,可以將上面的配置寫入到 .bashrc 里脱篙,然后 source ~/.bashrc 即可生效。

b-vim 目錄結(jié)構(gòu):

目錄結(jié)構(gòu)
  • README.md中簡單說明了b-vim的相關內(nèi)容伤柄;

  • install-shell : 存放使用 b-vim 配置的安裝腳本绊困。

    • install-vim.sh : vim 安裝配置文件安裝腳本,默認配置的 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 中使用的 簡單版和復雜版公用的 插件作谭;
    • vimrc.bundles_simple : vim中使用的簡易服務器版插件配置,包含使用的插件和其對應的配置奄毡,插件是在 vimrc.bundles_base 基礎上不同于 complex 版的部分折欠;
    • vimrc.bundles_complex : vim 復雜版本也是功能最強大的版本,自動補全使用的是YouCompleteMe ,如果是自己的電腦锐秦,建議安裝這個版本的插件咪奖,有點麻煩,但絕對值得酱床,下面詳細說明羊赵,插件是在 vimrc.bundles_base 基礎上不同于 simple 版的部分。
    • vimrc.workspace : 重點扇谣,可針對不同的項目配置不同的 vim 配置昧捷,如在 python 項目中關閉 tab 轉(zhuǎn)換為空格,其他項目正常轉(zhuǎn)換揍堕,同時料身,設置項目使用 tags 好 path ,這個下面細說衩茸。
  • projects : 里面包含了給具體項目使用的配置文件

    • tags_list_linux 放置默認給ctags使用的系統(tǒng)include頭文件目錄芹血,用以生成對應的系統(tǒng)級include頭文件的tags文件, linux上的默認include頭文件目錄;
    • tags_list_mac : mac上的默認include頭文件目錄楞慈,包含STL
    • workspace.vim: 配合上面說的 vimrc.workspace 使用的東西幔烛,下面細說。
    • workspace_syntax.vim:配合插件 nine2/vim-custom-syntax 使用的文件囊蓝,可以設置項目對應的語法配置饿悬,具體查看項目:https://github.com/nine2/vim-custom-syntax
    • ycm_simple_conf_mac_cpp_base_dir.xml: 配合插件 tdcdev/ycm_simple_conf 使用的聚霜,這個使用查看插件即可狡恬,同時這個只有在 complex 時才生效,因為是配合 YouCompleteMe 的蝎宇。

下面說下上面的重點部分:

vimrc.workspace

平時在自己的機子上弟劲,不可能所有項目使用的vim配置都是一樣的,特別是每個項目使用的 tags 就可能不一樣姥芥,同時有些項目如果使用了第三方庫兔乞,也可能會引入對應庫的 tags,這樣就可以完成從當前項目的標識符跳轉(zhuǎn)到第三方庫上去凉唐。因此不太可能把所有的這些都配置到一個 vimrc 配置里庸追,這里的解決方式是:從打開文件所在目錄向前查找文件 .workspace.vim,直到找到 $HOME 目錄或 / 目錄為止台囱,找到的第一個 .workspace.vim 會被加載起來淡溯。因此,只需在當前項目的根目錄增加一個 .workspace.vim 文件即可簿训,至于 .workspace.vim 的內(nèi)容血筑,默認可以直接 :

copy pathTo-b-vim/projects/workspace.vim pathToYourProject/.workspace.vim

注意: .workspace.vim 是所有 vim 配置中最后加載起來的绘沉,因此可以在里面改寫之前的默認設置。

projects/workspace_syntax.vim

這個文件需要使用到我的另一個插件: nine2/vim-custom-syntax 豺总,其主要作用即是開啟語法高亮等车伞,特別是可以自定義語法高亮,加載方式和 .workspace.vim 一樣喻喳,但會先加載 bundle/vim-custom-syntax/after/syntax/workspace_syntax.vim另玖,然后再加載項目目錄中出現(xiàn)的 .workspace_syntax.vim。關于插件的說明表伦,請參考:https://github.com/nine2/vim-custom-syntax谦去,這里不再細說。

ycm_simple_conf_mac_cpp_base_dir.xml

文件里有使用說明蹦哼,這里不再細說鳄哭。

<!-- " ###### 配置自己當前項目的特殊vim 配置 -->
<!-- "  使用方法,將此配置文件copy 到要使用的項目目錄下纲熏, -->
<!-- "  并更名為 .ycm_simple_conf.xml  即可 -->
<!-- "  或使用本配置的 shell 配置妆丘,加載后使用命令:proconf 即可, -->
<!-- "  命令可參見 bash_alias.sh 文件 -->
<!-- "  這里默認是 c++ 局劲,路徑默認的是 mac 的勺拣,可根據(jù)自己的實際情況更改添加 -->
<!-- "  路徑不存在并不影響 -->

同時,自定義項目的文件部分鱼填,可以配合 b-dotfiles 倉庫中 b-shell 使用药有,效果會更好。

vim 的兩個環(huán)境變量

上面提到的兩個環(huán)境變量 VIM_CONFIG_PATH苹丸,VIM_TMP_PATH 控制著vim 使用的配置以及運行時目錄的具體位置愤惰,因此可以通過修改這兩個變量來控制vim啟用的配置。這有個巨大的好處:在同一用戶下赘理,同時擁有多個完全不同版本的vim配置宦言,而切換他們只需要修改 兩個環(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;"

這個方式不僅僅是可用在 b-vim 上令花,其他的配置通過稍微的修改變通阻桅,一樣能達到相同的效果。

具體配置信息留待后面再細說吧兼都。

如果覺得好嫂沉,記得點個贊哦,??扮碧!
如果使用了趟章,記得在 b-vimstar 一下哦杏糙。

目錄

freepic-1523850343802.jpg

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市蚓土,隨后出現(xiàn)的幾起案子宏侍,更是在濱河造成了極大的恐慌,老刑警劉巖蜀漆,帶你破解...
    沈念sama閱讀 216,997評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谅河,死亡現(xiàn)場離奇詭異,居然都是意外死亡确丢,警方通過查閱死者的電腦和手機绷耍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,603評論 3 392
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鲜侥,“玉大人褂始,你說我怎么就攤上這事∶韬” “怎么了崎苗?”我有些...
    開封第一講書人閱讀 163,359評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長赘阀。 經(jīng)常有香客問我益缠,道長,這世上最難降的妖魔是什么基公? 我笑而不...
    開封第一講書人閱讀 58,309評論 1 292
  • 正文 為了忘掉前任幅慌,我火速辦了婚禮,結(jié)果婚禮上轰豆,老公的妹妹穿的比我還像新娘胰伍。我一直安慰自己,他們只是感情好酸休,可當我...
    茶點故事閱讀 67,346評論 6 390
  • 文/花漫 我一把揭開白布骂租。 她就那樣靜靜地躺著,像睡著了一般斑司。 火紅的嫁衣襯著肌膚如雪渗饮。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,258評論 1 300
  • 那天宿刮,我揣著相機與錄音互站,去河邊找鬼。 笑死僵缺,一個胖子當著我的面吹牛胡桃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播磕潮,決...
    沈念sama閱讀 40,122評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼翠胰,長吁一口氣:“原來是場噩夢啊……” “哼容贝!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起之景,我...
    開封第一講書人閱讀 38,970評論 0 275
  • 序言:老撾萬榮一對情侶失蹤斤富,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后闺兢,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體茂缚,經(jīng)...
    沈念sama閱讀 45,403評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,596評論 3 334
  • 正文 我和宋清朗相戀三年屋谭,在試婚紗的時候發(fā)現(xiàn)自己被綠了脚囊。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,769評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡桐磁,死狀恐怖悔耘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情我擂,我是刑警寧澤衬以,帶...
    沈念sama閱讀 35,464評論 5 344
  • 正文 年R本政府宣布,位于F島的核電站校摩,受9級特大地震影響看峻,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜衙吩,卻給世界環(huán)境...
    茶點故事閱讀 41,075評論 3 327
  • 文/蒙蒙 一互妓、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧坤塞,春花似錦冯勉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,705評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至浮禾,卻和暖如春交胚,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背盈电。 一陣腳步聲響...
    開封第一講書人閱讀 32,848評論 1 269
  • 我被黑心中介騙來泰國打工蝴簇, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人挣轨。 一個月前我還...
    沈念sama閱讀 47,831評論 2 370
  • 正文 我出身青樓军熏,卻偏偏與公主長得像轩猩,于是被迫代替她去往敵國和親卷扮。 傳聞我的和親對象是個殘疾皇子荡澎,可洞房花燭夜當晚...
    茶點故事閱讀 44,678評論 2 354

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