打造屬於自己的Vim IDE

2021-08-11 15:23:52 字數 2792 閱讀 9858

troubleshootings

further

reading

references

為什麼要使用vim?

讓我們先看看其他人怎麼說:

vim or emacs就好比倚天和屠龍,得一可得天下。 vim就像學鋼琴一樣,一旦學會,終身受益無窮。

這些話都是出自vim高手之口,對於vim新手,可能暫時沒辦法體會。而我使用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歷史悠久,有許多貼之已經過時了。

其中最主要的變化有:

沒有安裝外掛程式的vim算不了什麼,但是,一旦安裝好外掛程式,vim立馬就牛比了。這裡,作為一名cocos2d-x遊戲程式設計師,我給大家推薦一些外掛程式,關於外掛程式的用法,大家可以檢視help文件,我這裡就不贅述了。

pathogen:該外掛程式用來管理vim的外掛程式,可以讓外掛程式的安裝與解除安裝更加方便。配合github和submodule效果更佳。(2014-6-19號更新:現在我用vundle了,更方便。)

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,且是輕量級的.

delimitmate:成對生成(),{},

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:文字物件外掛程式,可以操縱當前行。

這部分主要記錄我在打造神器的過程中遇到的一些問題:

強烈推薦閱讀:《practical vim》

國內站點推薦三個:vimer世界,易水的部落格,水木清華社群

最後推薦乙個vimrc設定技巧**vimbits,這個**會選出最流行的vimrc配置,大家可以時不時去上面淘金。當然,如果你發現好用的vimrc配置,也記得一定要分享出來啊。社群需要你!

google + wiki. :)

【**:

打造屬於自己的Notepad

notepad top notepad 是一款windows環境下免費開源的 編輯器。自動提示設定 notepad 預設是沒有開啟這個功能的,設定方法如下 開啟 首選項 備份與自動完成 按下圖設定 安裝外掛程式 因為notepad 的小巧,就給了它更多的空間用來擴充套件,其豐富的外掛程式功能讓not...

打造屬於自己的 Vim 神器

table of contents troubleshootings further reading references 為什麼要使用vim?我們先看看其他人怎麼說 vim or emacs就好比倚天和屠龍,得一可得天下。by vimer.cn vim就像學鋼琴一樣,一旦學會,終身受益無窮。by ...

php打造屬於自己的MVC框架

本篇先介紹一下php的mvc實現原理,我們框架的mvc部分也是基於此原理實現的,但是今天的 並不是框架內的 僅僅為說明原理 一 檔案結構 建立3個資料夾 controller資料夾存放控制器檔案 view資料夾存放視 件 model資料夾存放資料檔案 建立1個index.php 作為唯一入口 二 控...