放弃IDE,用VIM进行c/c++程序开发
老廖曾经在PHPER杂志上发表过一篇文章叫做用VIM做PHP开发环境,在里面详细介绍了用VIM做php开发需要做的准备,这篇文章就结合一些资料和我自己的一些经验来介绍下用VIM做C/C++开发需要做的事情,相对来说要比做php开发方便些。
前提条件是当然是你已经下载了VIM,如果没有的话请先到官方网站下载最新版本,地址是:http://www.vim.org/download.php
帮助文档下载地址::http://vimcdoc.sourceforge.net/
首先从视觉方面:
第一个要做的是缩进,修改你的VIM配置文件_vimrc,在最后加入set cindent,这样就设置了c风格的缩进,在这里缩进的大小是shiftwidth的值。
第二个要做的是语法高亮,这个是必须的,在中_vimrc加入syntax enable。
第三个要做的字体的设置,设置一个舒服的字体可以让你编程的时候舒服好多,用editplus的时候我就用的Consolas,在vim中我还是用的这种字体,在_vimrc中加入
if has(”gui_running”)
set guifont=Consolas:h9
endif
表示运行界面vim的时候就用这种字体。
第四,设置配色方案,可以到点击这儿下载,然后放到$VIM"vimfiles"colors这个目录下,然后在中加入如下配置
if has(”gui_running”)
set guifont=Consolas:h9
” set color schema
colorscheme colorscheme_name
endif
colorscheme_name为你需要设置的配色方案的名称。
接下来是在运行程序中用到的:
第一,使用ctag
VIM中已经带了Ctags这个程序。尽管ctags也可以支持其它编辑器,但是它正式支持的只有VIM。Ctags可以帮助程序员很容易地浏览源代码。用下面的命令可以在源代码的根目录下创建“tags”文件:
[/home/brimmer/src]$ ctags -R
“-R”表示递归创建,也就包括源代码根目录下的所有子目录下的源程序。“tags”文件中包括这些对象的列表:
l 用#define定义的宏
l 枚举型变量的值
l 函数的定义、原型和声明
l 名字空间(namespace)
l 类型定义(typedefs)
l 变量(包括定义和声明)
l 类(class)、结构(struct)、枚举类型(enum)和联合(union)
l 类、结构和联合中成员变量或函数
VIM用这个“tags”文件来定位上面这些做了标记的对象,下面介绍一下定位这些对象的方法:
1) 用命令行。在运行vim的时候加上“-t”参数,例如:
[/home/brimmer/src]$ vim -t foo_bar
这个命令将打开定义“foo_bar”(变量或函数或其它)的文件,并把光标定位到这一行。
2) 在vim编辑器内用“:ta”命令,例如:
:ta foo_bar
3) 最方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl-]”。用“Ctrl-o”退回原来的地方。
注意:运行vim的时候,必须在“tags”文件所在的目录下运行。否则,运行vim的时候还要用“:set tags=”命令设定“tags”文件的路径,这样vim才能找到“tags”文件。
你还可以选择使用taglist这个插件,这个插件可以在右侧显示函数,变量等的列表
第二,改正程序中的错误
在VIM编辑器的环境下用“:make”(make工具的使用已经在我昨天的文章中 提到的云风的几篇文章中详细介绍到)就可以编译程序,当然其前提是在当前目录下有Makefile文件。运行完“:make”之后,如果程序中有错误,就 会显示出来。这时候,光标会自动指向第一个出现错误的地方,而且你还可以看到错误的提示。然后,你就可以改正错误,而不用手工找到出错的那一行。记住下面 几个有用的命令:
l “:cl”列出错误
l “:cn”让光标指向下一个错误
l “:cp”让光标指向上一个错误
l “:cnew”从头开始
你甚至可以让VIM识别出其它编译器而不是gcc的错误提示。这对一些开发嵌入式系统的程序员这很有用,因为他们很可能用的不是gcc而是其它编译器。通过设置“errorformat”的值,可以让VIM识别出编译器的出错提示。因为不同的编译器的出错提示是不同的,所以如果用的不是gcc就要重新设置。
“errorformat”的值是一个字符串,它的格式和C语言的scanf的字符串格式相识。
gcc的“errorformat”的值为:%f:%l:"%m。其中“%f”表示文件名,“%l”表示行号,“%m”表示出错信息。
用“:h errorformat”查看详细的帮助信息。
用“:h quickfix”、“:h make”、“:h makeprg”、“:h errorfile”查看其它的信息。
第三,使用快捷键
下面的这些快捷键对程序员很有帮助:
在函数中移动光标
[[ 转到上一个位于第一列的“{”
]] 转到下一个位于第一列的“{”
{ 转到上一个空行
} 转到下一个空行
gd 转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一次出现的地方
# 转到当前光标所指的单词上一次出现的地方
括号的匹配
% 用来进行小括号、中括号和大括号的匹配。这要看当前光标指向的是什么符号了。
结语:
vim一直是一些牛人推荐的工具并一直存在着是有着道理的,她大大提高了我们的工作效率,如果你打算长期变成的话,花一个星期的时间来熟悉vim的使用时很有必要的!
posted on 2009-05-15 23:27 starspace 阅读(3313) 评论(0) 编辑 收藏 举报