2008年2月29日 星期五

打造VIM

如何将vim设置成一个更符合我们编程习惯的工具。
1、语法高亮
这个最简单:set syntax on
2、缩进为4个字符
##CONTINUE##
vim默认的缩进为8个字符,这样的缩进显得有些宽,代码的阅读性会下降,将缩进设置为4个字符也很简单:
set sw=4
set ts=4
3、让vim显示行号
set nu
4、让vim以c语言的习惯语法高亮
set cin
5、gVIM的字体及配色方案
gVIM中,当我们选择了一个字体和一个配色方案后,下次运行,又会回到默认的字体和颜色,很麻烦,其实有个办法可以解决这个问题,就是将相关的配置写进.vimrc中。举例:

if has("gui_running")
set guifont=DeJaVu\ Sans\ Mono\ 11
colorscheme desert
endif

这里需要注意的一点是,如果字体的名称中有空格,需要在空格前加一个转义字符\。
6、进阶设置
代码中,经常会使用很多各种类型的配对括号,而我的习惯就是一次写好正反括号,然后将光标回退到两个括号之间,再编辑括号中的代码,这样难免效率低下,因为需要频繁的按方向键。我们这时候,可以设置vim,当写了一个配对的括号后,让vim自动的将光标回退到两个括号之间,方法也很简单,举个列子:
inoremap [] []
这个命令相当于一种键盘映射,作用是,当输入了[]之后,自动的再输入一次方向键“左”,其他的括号,依此类推。
这里有一个特例,就是花括号{}的使用,因为在C语言中,花括号最常用的地方有两个,一个是规定函数的边界,另一个是数组的赋值,在这两种情况下,为了使代码更具可读性,花括号的缩进略有不同,下面的一段代码中包含了两组用途不同的花括号:

main()
{
int a[10]={1,1,2,3,5};
}

在上面的例子中,第一组花括号,是主函数的边界,习惯上正反花括号各占一行,而代码就在这两行中间的n行里;而另一组花括号,是使用在数组的赋值上,习惯上这对花括号在一行中,中间插入其他表达式。这里就可以看出,同样是花括号,却出现了两种不同的缩进方式,这里我们如何让vim自动的帮我们去判断,并且选择正确的缩进呢?
首先,我们先来看数组中的那对花括号,这个比较简单,和前面一样:
inoremap {} {}
然后看主函数那里的那对花括号,留意一下我们平时输入这对花括号时,需要先打一个“回车”,输入完花括号后,需要依次的敲击方向键左、上、右,然后再敲击一次回车,既然知道了整个操作步骤,命令也就很简单的可以写出来了:
inoremap {} {}

以上,我们就可以将vim配置的更加顺手了,当然,也许还有其他很多我不知道的方法,如果哪位朋友有更好的方法,希望请E-Mail给我,谢谢!

0 条评论:

发表评论