VIM大做戰之C++簡易集成編譯環境(Windows篇)

一切都要從這篇文章提及

Vim 實在是精緻獨特得有點像個林妹妹。但誰要是但願家裏也有個林妹妹,光把自家丫頭照着繡像打扮打扮是不行的,必須從零開始養成一個。並且就算真能養出來個「天上掉下來」通常的可人兒,管家婆的位置仍然沒她的份。php

——釵黛雙收:若你也同Vim難割捨,卻又看Emacs情切切linux

 

那時候剛工做不久,有一次去一個搞嵌入式的同事工位上討論一個bug,只見他操做一個界面簡潔的文本編輯器,可是這個編譯器彷佛不簡單,有文本高亮,有自動補全,還能夠子窗口嵌套,更誇張的是,這個同事以打字的速度敲着鍵盤,伴隨着的是界面、光標刷刷的跳。在我還沒搞明白髮生了什麼的時候,這個同事忽然停下來,指着屏幕,告訴我他搞清楚了bug緣由……vim

這就是Vim給個人第一印象,赤裸裸的逼格。編輯器

 

廢話很少講,如下是我想跟你們分享的vim比較有意思的東西,也是拋磚引玉吧。函數

vim和gvim

這裏推薦KM上一篇很好的介紹Vim的文章:測試

http://km.oa.com/group/16841/articles/show/199187ui

linux的童鞋對VI或者VIM一點也不會陌生,由於這是標配。編輯代碼,配置文件都得靠它。而在Windows下VIM確實顯得有些非主流,由於選擇比較多加上Vim奇葩的上手曲線。spa

 

Vim主要分兩種,一個是在命令行或者控制檯的vim,另一個是帶圖形界面的gvim。這二者其實操做起來體驗差很少,由於Vim下鼠標幾乎無用……,不過Windows下gvim用起來仍是舒服一些。插件

 

 

 

 

能作什麼

一句話,就是把利用VC編譯環境集成到Vim當中,這樣能夠在Vim中編輯,修改,運行一個簡單的cpp程序。直接上圖吧。命令行

最大的好處就是輕量級,比起VS來說,輕便快捷得多。特別是在寫一段測試代碼,或者試用一個不熟悉的API的時候。

不知道有多少同窗跟我幹過跟我同樣的事情:

  • gvim main.cpp,寫好,保存;
  • 打開VS的命令提示控制檯;
  • cl.exe main.cpp;
  • 運行exe;
  • 若是編譯,或者運行有問題,打開main.cpp,以上步驟從新來一遍。

 

如今這只是過去式了,F5,編譯運行一鍵搞定。若是編譯錯誤,也會把錯誤信息打出來。

這裏給你們提供一個思路,根據本身的須要,發揮本身的想象力,把一些平常工做集成到Vim,或者利用Vim來作,固然前提是可以提升效率(提升逼格也行)。

PS:Vim有很強大的腳本,插件的支持,足夠你折騰。

插件安裝

安裝gvim

Vim的最新版本能夠在Vim官網上下載;

下載CPPBuild.zip(附件)

1)         解壓縮CPPBuild.zip到本地

2)         修改vim的配置文件_vimrc,添加filetype plugin indent on,做用是打開vim插件功能。_vimrc的路徑:[gvim安裝目錄]\_vimrc

3)         拷貝CPPBuild.vim到[gvim安裝目錄]\ vimfiles\plugin\

4)         根據當前系統,修改CPPBuild.vim,兩個地方須要修改,一個是工做目錄,另一個是VC和Windows SDK的路徑

5)         將剩下的文件拷貝到步驟4中設置的工做目錄當中

6)         關閉全部gvim,從新打開任意一個新的gvim(目的是讓CPPBuild.vim的修改生效),快捷鍵[Ctrl-K][Ctrl-P],此時gvim會打開一個新的標籤頁

7)         在步驟6打開的標籤頁下,快捷鍵[Ctrl-K][Ctrl-I]打開預編譯頭文件(能夠根據本身須要修改),快捷鍵[F5],編譯預編譯頭文件和CPPBuild.exe

8)         回到步驟6打開的標籤頁,[F5]編譯運行,打完收工。

 

注:步驟7其實就是編譯一次預編譯頭文件,這樣作能夠提升之後的編譯效率。只須要作一次,之後能夠跳過這個步驟。

CPPBuild

Vim插件CPPBuild的組成:

CPPBuild.vim:插件腳本,負責在Vim中綁定快捷鍵,實現CPP編譯的主要邏輯;

CPPBuild.cpp:會被編譯成CPPBuild.exe,實現無窗口的狀況下調用cl.exe,編譯cpp文件(直接調用會彈出一個控制檯黑框);

vim_pch.h:預編譯頭文件,負責生成.pch文件;

vim_pch.cpp:預編譯cpp文件;

template.cpp:模板cpp文件,包含main入口函數,拷貝這個文件的內容來生成臨時的main.cpp;

CPPBuild的工做流程圖以下:

 代碼下載:http://pan.baidu.com/s/1sj7BXd7

相關文章
相關標籤/搜索