table of contents
troubleshootings
further reading
references
為什麼要使用vim?
我們先看看其他人怎麼說:
vim or emacs就好比倚天和屠龍,得一可得天下。 – by vimer.cn這些話都是出自vim高手之口,對於vim新手,可能暫時沒辦法體會。而我使用vim也有一段時間了,肯定不能算是高手,但至少也是乙個熟手。vim就像學鋼琴一樣,一旦學會,終身受益無窮。 –by practical vim
我現在主要使用vim來編寫c/c++、js、lua**,我覺得非常方便,比xcode和eclise都強(除錯部分可能相對弱一點)。當然,我還使用vim來修改其它文件,比如html、xml、文字檔案等。現在我正在使用vim書寫本篇博文,非常酷,非常爽!
我轉成vim黨的感受,一句話:
vim streamline my daily workflow and boost my coding productivity.現在,我客觀地說明一下vim的一些好處:
為什麼不使用vim?
可能有以下幾種聲音:
我在這裡不去說現代的ide有什麼不好,或者vim相比於這些ide來說有哪些優點。我知道這樣說,又馬上會引起一場語言之爭,編輯器大戰出來。其實,真的是沒必要去糾結用什麼開發工具,也沒必要糾結用什麼語言。
只是我覺得程式設計師天生就是用來折騰的。有牛人講過一句話:
每年學習一門新的程式語言,而且這門語言跟你之前熟悉的語言關係越遠越好現在,我也呼籲一下吧:從現在起,學習一門新的文字編輯工具vim,它跟你之前所用到的編輯器體驗完全不一樣。它的modal editing是獨一無二的,程式設計師值得擁有。而且你不用每年換乙個編輯器,因為你只需要乙個vim編輯器。你越了解它,越使用它,就越會對它愛不釋手。
讓我們一起來折騰吧!vim, the killer! oh~ye.:)
know the saw, then sharpen it.很多人不使用vim的原因很簡單,除了不習慣它的modal editing之外,更多的是覺得它算不上乙個ide。但是,稍微對vim有過了解的朋友都知道,vim是可以被打造成乙個ide的,而且是專門屬於自己的ide。
為什麼要使用ide,請看此貼
的池建強寫了一系列的博文《誰說vim不是ide》(一、二、三、四。)有興趣的朋友可以去看看,看完後你會發現,原來vim也可以變成ide。:)
關於如何把vim打造成乙個ide,只要你現在隨便谷歌一下,你肯定能找到一大堆貼子。但是,由於vim歷史悠久,有許多貼之已經過時了。
其中最主要的變化有:
其實可以列舉的還有很多,國內也有許多優秀的vimer,歡迎你們推薦優秀的設定vim為ide的教程或者文章,thanks.:)
沒有安裝外掛程式的vim算不了什麼,但是,一旦安裝好外掛程式,vim立馬就牛比了。這裡,作為一名cocos2d-x遊戲程式設計師,我給大家推薦一些外掛程式,關於外掛程式的用法,大家可以檢視help文件,我這裡就不贅述了。
pathogen:該外掛程式用來管理vim的外掛程式,可以讓外掛程式的安裝與解除安裝更加方便。配合github和submodule效果更佳。
nerdtree:該外掛程式會生成工程目錄樹
tagbar:該外掛程式生成函式、變數列表。之前有乙個外掛程式叫taglist,我覺得那個有點不好用,推薦tagbar
ultisnips:類似textmate的snippets,之前有個外掛程式叫snipmate,這個基於snipmate,比snipmate要強很多。強烈推薦。
vim-commentary:注釋**的外掛程式。
syntastic:儲存檔案時檢查語法的外掛程式。
fugitive:方便在vim裡面使用git的外掛程式。
vim-colors-solarized:vim顏色配色方案。
ctrlp:搜尋目錄下的檔案,類似功能的外掛程式有comment-t,我喜歡ctrlp,因為它不依賴於ruby,且是輕量級的.
autoclose:成對生成(),{},
vim-surround:給文字新增「外套」,呵呵,試試就知道有多強大了。
supertab:讓tab鍵可以飛起來。
a:讓cpp檔案在.h和.cpp檔案中切換。
buferexplorer:方便瀏覽buffer的外掛程式。
clangcomplete:自動**補全的外掛程式,比omnicppcomplete好n多,速度有一點影響。不過配合neocomplcache,加上這個版本,效率還不錯。
neocomplcache:關鍵字補全、檔案路徑補全、tag補全等等,各種,非常好用,速度超快。
neocomplcache-clang:解決clang_complete和neocomplcache的衝突。
taghightlight :根據生成的tag檔案,高亮類、變數、函式和關鍵字。
bufkill:讓nerdtree在最後乙個buffer視窗關閉時,不讓其縮放。
vimprj:方便管理工程相關的vim配置。參考如何設定vim為ide中的第一篇e文。
vim-unimpaired:一些不錯的配置,可以讓發揮奇效。
vim-powerline:超有愛的狀態列。
vim-textobj-line:文字物件外掛程式,可以操縱當前行。
更多外掛程式,可以到我的github上面去檢視。可以從本博右上角fork me on github處進入。當然,如果各種vimer有什麼好的外掛程式,也歡迎推薦給我。
這部分主要記錄我在打造神器的過程中遇到的一些問題:
強烈推薦閱讀:《practical vim》
國內站點推薦三個:vimer世界,易水的部落格,水木清華社群
最後推薦乙個vimrc設定技巧**vimbits,這個**會選出最流行的vimrc配置,大家可以時不時去上面淘金。當然,如果你發現好用的vimrc配置,也記得一定要分享出來啊。社群需要你!
google + wiki. :)
posted by guanghui.qu
jan 15th, 2013 vim
打造屬於自己的Vim IDE
troubleshootings further reading references 為什麼要使用vim?讓我們先看看其他人怎麼說 vim or emacs就好比倚天和屠龍,得一可得天下。vim就像學鋼琴一樣,一旦學會,終身受益無窮。這些話都是出自vim高手之口,對於vim新手,可能暫時沒辦法體會...
打造屬於自己的Notepad
notepad top notepad 是一款windows環境下免費開源的 編輯器。自動提示設定 notepad 預設是沒有開啟這個功能的,設定方法如下 開啟 首選項 備份與自動完成 按下圖設定 安裝外掛程式 因為notepad 的小巧,就給了它更多的空間用來擴充套件,其豐富的外掛程式功能讓not...
php打造屬於自己的MVC框架
本篇先介紹一下php的mvc實現原理,我們框架的mvc部分也是基於此原理實現的,但是今天的 並不是框架內的 僅僅為說明原理 一 檔案結構 建立3個資料夾 controller資料夾存放控制器檔案 view資料夾存放視 件 model資料夾存放資料檔案 建立1個index.php 作為唯一入口 二 控...