??xml version="1.0" encoding="utf-8" standalone="yes"?>
VIM支持语法制导和自动羃q?br />
VIM会根据文件的后缀名,如:*.c?.cpp?.ccQ等Q自动设|语法制|Syntax
HighlightingQ。C/C++中的一些保留字Q如Qif、for、includeQ等{,׃有不同的颜色Q这样就会减程序员犯错的可能,阅读E序的时候相Ҏ说也L很多。用下面q些命o在VIM中查看有兌法制导的帮助Q?h
syntax”、?h syn-qstart”、?h
syntax-printing”?br />
VIM也支持根据GNU的风D动羃q,q样E序员编写出来的代码更易阅读,而且也有利于培养好的~程风格。用下面q些命o在VIM中查看有兌动羃q的帮助Q?h
cindent”、?h cinoptions”、?h cinoptions-values”、?h cinkeys”、?h
cinwords”?br />使用Ctags
VIM中已l带了Ctagsq个E序。尽ctags也可以支持其它编辑器Q但是它正式支持的只有VIM。Ctags可以帮助E序员很Ҏ地浏览源代码。用下面的命令可以在源代码的根目录下创徏“tags”文Ӟ
[/home/brimmer/src]$
ctags -R
?R”表C递归创徏Q也包括源代码根目录下的所有子目录下的源程序。“tags”文件中包括q些对象的列表:
l
?define定义的宏
l 枚D型变量的?br />
l 函数的定义、原型和声明
l
名字I间QnamespaceQ?br />
l cd定义QtypedefsQ?br />
l 变量Q包括定义和声明Q?br />
l
c(classQ、结构(structQ、枚丄型(enumQ和联合QunionQ?br />
l
cR结构和联合中成员变量或函数
VIM用这个“tags”文件来定位上面q些做了标记的对象,下面介绍一下定位这些对象的ҎQ?br />
1)
用命令行。在q行vim的时候加上?t”参敎ͼ例如Q?br />
[/home/brimmer/src]$ vim -t
foo_bar
q个命o打开定义“foo_bar”(变量或函数或其它Q的文gQƈ把光标定位到q一行?br />
2)
在vim~辑器内用?ta”命令,例如Q?br />
:ta foo_bar
3)
最方便的方法是把光标移到变量名或函数名上,然后按下“Ctrl-]”。用“Ctrl-o”退回原来的地方?br />
注意Q运行vim的时候,必须在“tags”文件所在的目录下运行。否则,q行vim的时候还要用?set
tags=”命令设定“tags”文件的路径Q这样vim才能扑ֈ“tags”文件?br />快速改正错?br />
在VIM~辑器的环境下用?make”就可以~译E序Q当然其前提是在当前目录下有Makefile文g。运行完?make”之后,如果E序中有错误Q就会显C出来。这时候,光标会自动指向第一个出现错误的地方Q而且你还可以看到错误的提C。然后,你就可以Ҏ错误Q而不用手工找到出错的那一行。记住下面几个有用的命oQ?br />
l
?cl”列出错?br />
l ?cn”让光标指向下一个错?br />
l ?cp”让光标指向上一个错?br />
l
?cnew”从头开?br />
你甚臛_以让VIM识别出其它编译器而不是gcc的错误提C。这对一些开发嵌入式pȝ的程序员q很有用Q因Z们很可能用的不是gcc而是其它~译器。通过讄“errorformat”的|可以让VIM识别出编译器的出错提C。因Z同的~译器的出错提示是不同的Q所以如果用的不是gccp重新讄?br />
“errorformat”的值是一个字W串Q它的格式和C语言的scanf的字W串格式相识?br />
gcc的“errorformat”的gؓQ?f:%l:\%m。其中?f”表C文件名Q?l”表CP?m”表C出错信息?br />
用?h
errorformat”查看详l的帮助信息?br />
用?h quickfix”、?h make”、?h makeprg”、?h
errorfile”查看其它的信息?br />有用的快捷键
下面的这些快捷键对程序员很有帮助Q?br />在函CUd光标
[[
转到上一个位于第一列的“{?br />
]] 转到下一个位于第一列的“{?br />
{ 转到上一个空?br />
}
转到下一个空?br />
gd 转到当前光标所指的局部变量的定义
* 转到当前光标所指的单词下一ơ出现的地方
#
转到当前光标所指的单词上一ơ出现的地方
括号的匹?br />
%
用来q行括受中括号和大括号的匹配。这要看当前光标指向的是什么符号了?br />其它
VIM的配|文件是?vimrc”,用这个文件可以配|VIM。VIM的图形界面的版本叫gvim。VIM也有用于Windowsq_的版本?br />VIM的资?br />
VIM的主:http://www.vim.org/?br />版权说明
q篇文章的版权属于作者brimmerQ?
brimmer@linuxaid.com.cn Q和www.linuxaid.com.cn
。如果要转蝲请加上版权提C?br />
Brimmer的主:www.linuxaid.com.cn/engineer/brimmer
。HTML格式和Word格式的文可以在主页上找到?/div>
]]>