最近開始考慮從經常使用的 Dev-Cpp 和 Visual Studio 開發環境中轉到gvim+gcc+gdb。shell
我一直以爲IDE很好方便,不是很明白別人這樣的配置。但仍是開始有意識的去嘗試更換環境。vim
更換環境的緣由有如下幾個方面吧:編輯器
1.遲早要去使用LINUX的,遲早要去趟這一趟渾水的。(儘管目前我還不知道爲何我這一行都要求熟練LINUX,不明白LINUX相比WIN的優勢)函數
2. 用筆記本寫代碼的時候,上下左右鍵太遠太不舒服太影響效率了,因此決定換高效率的VIM……ui
3. 有些時候須要用到gdb的一些功能,有些時候用gcc直接查看預處理、彙編、連接等各步驟的代碼方便清晰,更有利於深刻了解計算機原理……spa
4. 這玩意兒裝B啊!插件
厚着臉皮從朋友那裏要來了一份vim_rc,通過本身微調後(也就是把朋友vim的PYTHON和一些我這裏沒有的插件,打開會報錯的那些代碼刪掉了)調試
vim_rc以下:code
source $VIMRUNTIME/vimrc_example.vim source $VIMRUNTIME/mswin.vim behave mswin set diffexpr=MyDiff() function MyDiff() let opt = '-a --binary ' if &diffopt =~ 'icase' | let opt = opt . '-i ' | endif if &diffopt =~ 'iwhite' | let opt = opt . '-b ' | endif let arg1 = v:fname_in if arg1 =~ ' ' | let arg1 = '"' . arg1 . '"' | endif let arg2 = v:fname_new if arg2 =~ ' ' | let arg2 = '"' . arg2 . '"' | endif let arg3 = v:fname_out if arg3 =~ ' ' | let arg3 = '"' . arg3 . '"' | endif if $VIMRUNTIME =~ ' ' if &sh =~ '\<cmd' if empty(&shellxquote) let l:shxq_sav = '' set shellxquote& endif let cmd = '"' . $VIMRUNTIME . '\diff"' else let cmd = substitute($VIMRUNTIME, ' ', '" ', '') . '\diff"' endif else let cmd = $VIMRUNTIME . '\diff' endif silent execute '!' . cmd . ' ' . opt . arg1 . ' ' . arg2 . ' > ' . arg3 if exists('l:shxq_sav') let &shellxquote=l:shxq_sav endif endfunction set nu filetype plugin indent on set cindent set smartindent set autoindent colo evening syntax on set helplang=cn set autoread filetype plugin on set clipboard+=unnamed set nobackup set autowrite set ruler set cursorline set nocompatible set noeb set confirm set tabstop=8 set softtabstop=8 set shiftwidth=8 set noexpandtab set smarttab set nobackup set noswapfile set ignorecase set cmdheight=2 filetype on filetype plugin on filetype indent on set mouse=a set selection=exclusive set selectmode=mouse,key set showmatch set matchtime=3 set scrolloff=3 set guifont=Fixedsys:h15:b:cGB2312 au BufRead,BufNewFile,BufEnter * cd %:p:h :cd Desktop
大多數語句我基本不知道什麼意思……對我來講有代碼高亮、語法縮進基本就能寫寫代碼了,等之後須要作項目在去搞一下函數跳轉類和項目管理等插件吧……遺憾的是這個沒有代碼補全,朋友以爲代碼補全影響節奏。但我我的以爲代碼補全有的時候能方便寫長代碼名和函數等……,尤爲是我函數參數忘了的時候能提醒我參數……目前不太清楚用什麼語句實現代碼補全。blog
而後調整了麻煩的環境變量等等……去參閱了VIMTUTOR,大概用了一天時間成功學會使用VIM的基本編輯功能並經過!:g++ 1.cpp -g -o 1.exe 和!:gdb 1.exe 成功運行了第一個程序……
目前深入感受到VIM的功能強大,用好了真的是個神器,然而調教他須要很長時間很麻煩,調教很差還不如大多數IDE,不少IDE點點鼠標就能簡單實現的功能在這裏會變得好麻煩。目前本身仍是各類不適應…平時寫寫簡單代碼還罷了,可是打CF等比賽的話仍是會考慮優先使用之前的IDE……
代碼編輯器不習慣對我來講不是最大的問題,最大的問題是gdb下的調試環境我很不適應,這讓我調代碼簡直爆炸……
走一步看一步吧,慢慢來。VIM這種東西能夠說是平時玩一玩,用好了錦上添花的東西,爲了調教好他而付出太多時間影響了其餘的事情就有些得不償失了(好比讓我拖了兩天其餘做業233)我也不是很想爲了用而用。
最後,像神的編輯器VIM致敬。