`

用vim写程式的一些设定

阅读更多

发现一些新同事编码速度很慢,主要没系统的学习过vim,下面是我的个人设置,主要针对C/C++编码。
首先,弄一个 .vimrc 文件
一般从 /usr/share/vim/vim7/example_vimrc 拷过来用就差不多了.
$ cp /usr/share/vim/vim7/example_vimrc ~/.vimrc

然后主要就是修改配置文件 ~/.vimrc

"主题,我最稀饭这个,一般要设终端是白字黑背景色.
colo desert

" 对齐与缩进
set cindent
set smartindent
" 参考 http://helloworld.cc/linux/vim_config.html
set cino=:0g0t0(sus
set shiftwidth=4
set ts=4

" 设置行号
set nu

C/C++ 插件
1. c-surpport 写c/c++必备
http://www.vim.org/scripts/script.php?script_id=213

" 设置leader的快捷键,原来的“\”太远了,而且位置还不固定
let mapleader = " , "

一些文件模板不太符合我的要求,不美观,所以我改了。
cd ~/.vim/c-support/templates
编辑 c.comments.template
还有 Templates这个文件,定义很多宏,主要是作者,邮件,版权等等。

2. OmniCppComplete : C/C++ omni-completion with ctags database
http://www.vim.org/scripts/script.php?script_id=1520
提供C++中类/对象成员的补全, 标准STL库也可以补全。目前我主要用来自动补充STL,其他的不考虑,主要我们项目的tags很大,输入-> 后要等很久很久....

在 .vimrc中做出相应的调整

"关于omnicomplete的设置
set nocp
filetype plugin on

"我不喜欢preview窗口,如果需要,设置下面即可
set completeopt=menu
" 其他七七八八的,看个人喜好而定
let OmniCpp_LocalSearchDecl = 1
let OmniCpp_DefaultNamespaces = ["std"]
let OmniCpp_ShowPrototypeInAbbr = 1

3. snippetsemu
在 Vim 上使用像是 Textmate 的功能
很好,很强大!看过Rails的demo,你一定会对那个编辑器 Textmate 很感兴趣,没错,很简单的。

svn checkout http://snippetsemu.googlecode.com/svn/trunk/ textmate
mv textmate/ ~/.vim
编辑 ~/.vimrc,填上

filetype on
filetype plugin on
set runtimepath+=~/.vim/textmate
set runtimepath+=~/.vim/textmate/after
如果您装了 supertab.vim,那么Tab会冲突,解决方法:
在 ~/.vimrc 中加入
so ~/.vim/plugin/supertab.vim

4. code_complete
code_complete很不错,和SuperTab冲突 code_complete 的 tab 键可以改成其他键的,比如我就改为了,和 latexSuite 一样。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics