免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1449 | 回复: 0
打印 上一主题 下一主题

用VIM编写C/C++程序 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-10-22 10:04 |只看该作者 |倒序浏览

2004年10月17日                  
               
       
                       
                               
                                       
用VIM编写C/C++程序
                               
                               
                                       
    摘要:用VIM编写C/C++程序
ctags -R,最方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl-]”。用“Ctrl-o”退回原来的地方。
用“:make”就可以编译程序
               
                       
用VIM编写C/C++程序
Vi是Unix下最常用的文本编辑器。VIM(Vi
IMproved)则是它的增强版。有人常常拿VIM和emacs比较,VIM尽管不象emacs那样有那么多的功能,但是比emacs更方便、好用。用
过emacs的人肯定会为emacs的一些快捷键感到烦恼,有时候用真希望自己有八只手。VIM的学习曲线也不象emacs那么长,只要看看VIM自带的
vitutor,大约只要20分钟就能掌握VIM的用法。对于Unix下的C/C++的程序员,我推荐你们使用VIM+Ctags的组合来写程序。其中原
因听我慢慢道来。(下面对VIM的介绍主要是针对5.6以后的版本)
VIM支持语法制导和自动缩进
VIM会根据文件的后缀名,如:*.c、*.cpp、*.cc,等,自动设置语法制导(Syntax
Highlighting)。C/C++中的一些保留字,如:if、for、include,等等,就会有不同的颜色,这样就会减少程序员犯错的可能,阅
读程序的时候相对来说也轻松很多。用下面这些命令在VIM中查看有关语法制导的帮助:“:h syntax”、“:h syn-qstart”、“:h
syntax-printing”。
VIM也支持根据GNU的风格自动缩进,这样程序员编写出来的代码就更易阅读,而且也有利于培养好的编程风格。用下面这些命令在VIM中查看有关自
动缩进的帮助:“:h cindent”、“:h cinoptions”、“:h cinoptions-values”、“:h
cinkeys”、“:h cinwords”。
使用Ctags
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”文件。
快速改正错误
在VIM编辑器的环境下用“: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的配置文件是“.vimrc”,用这个文件可以配置VIM。VIM的图形界面的版本叫gvim。VIM也有用于Windows平台的版本。
VIM的资源
VIM的主页:
http://www.vim.org/

版权说明
这篇文章的版权属于作者brimmer(
brimmer@linuxaid.com.cn
)和
www.linuxaid.com.cn
。如果要转载请加上版权提示。
Brimmer的主页:
www.linuxaid.com.cn/engineer/brimmer
。HTML格式和Word格式的文档可以在主页上找到。





本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/1317/showart_3264.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP