您的位置:首页 > 编程语言 > C语言/C++

逐步设置vim C/C++语法高亮显示和自动缩进

2007-09-27 20:27 344 查看
[align=center]

逐步设置vim C/C++语法高亮显示和自动缩进

[/align]

[align=center]@Copyright: flyingstarsoul[/align]
[align=center]2007-9-27[/align]
[align=center] [/align]
[align=center] [/align]
u vim简介
[align=left] [/align]
[align=left]Vim(Vi Improved) 是一个类似于vi 的文本编辑器,在Vi的基础上增加了很多新的特性和功能。Vim以其强大的功能和可定制能力,成为Linux/Unix环境下开源的最重要的编辑器之一(另一个是 Emacs),被众多开发者所喜爱。笔者此时所用的是最新的7.1版本。[/align]
[align=left]与大部分其它编辑器不同,进入 Vim 后,缺省状态下键入的字符并不会插入到所编辑的文件之中。Vim 的模式(mode,可以简单地理解为“状态”)概念非常重要。需要知道,Vim 有以下几个模式:[/align]
[align=left]1) 正常(normal)模式,缺省的编辑模式;下面如果不加特殊说明,提到的命令都直接在正常模式下输入;任何其它模式中都可以通过键盘上的 Esc 键回到正常模式。[/align]
[align=left]2) 命令(command)模式,用于执行较长、较复杂的命令;在正常模式下输入“:”(一般命令)、“/”(正向搜索)或“?”(反向搜索)即可进入该模式;命令模式下的命令要输入回车键(Enter)才算完成。[/align]
[align=left]3) 插入(insert)模式,输入文本时使用;在正常模式下键入“i”(insert)或“a”(append)即可进入插入模式(也有另外一些命令,如“c”,也可以进入插入模式,但这些命令有其它的作用)。[/align]
[align=left]4) 可视(visual)模式,用于选定文本块;可以在正常模式下输入“v”(小写)来按字符选定,输入“V”(大写)来按行选定,或输入“Ctrl-V”来按方块选定。[/align]
[align=left]5) 选择(select)模式,与普通的 Windows 编辑器较为接近的选择文本块的方式;在以可视模式和选择模式之一选定文本块之后,可以使用“Ctrl-G”切换到另一模式——该模式很少在 Linux 上使用,本文中就不再介绍了。[/align]
[align=left] [/align]
u 设置vim语法高亮显示和自动缩进

一、、首先,确认你的linux系统是否安装了功能完整的且足够新的vim。比如你用的是RedHat(Fedora),请确定安装了vim-enhance的rpm包。以下命令将对你有所帮助。

查看系统中已经安装的vim组件(后三行为示例输出,已经安装了完整的vim):
# rpm -qa|grep vim
vim-enhanced-7.1.12-1.fc7
vim-common-7.1.12-1.fc7
vim-minimal-7.0.235-1.fc7

安装vim-enhanced:
# yum install vim-enhanced

二、接下来设置vim的配置文件

1、配置文件的位置
在目录 /etc/ 下面,有个名为vimrc的文件,这是系统中公共的vim配置文件,对所有用户都有效。而在每个用户的主目录下,都可以自己建立私有的配置文件,命名为:“.vimrc”。例如,/root目录下,通常已经存在一个.vimrc文件。

2、设置语法高亮显示
1) 打开vimrc,添加以下语句来使得语法高亮显示:
syntax on
2) 如果此时语法还是没有高亮显示,那么在/etc目录下的profile文件中添加以下语句:
export TERM=xterm-color

3、设置Windows风格的C/C++自动缩进(添加以下set语句到vimrc中)
1)设置(软)制表符宽度为4:
set tabstop=4
set softtabstop=4
2)设置缩进的空格数为4
set shiftwidth=4
3)设置自动缩进:即每行的缩进值与上一行相等;使用 noautoindent 取消设置:
set autoindent
4)设置使用 C/C++ 语言的自动缩进方式:
set cindent
5)设置C/C++语言的具体缩进方式(以我的windows风格为例):
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
6)如果想在左侧显示文本的行号,可以用以下语句:
set nu
7)最后,如果没有下列语句,就加上吧:
if &term=="xterm"
set t_Co=8
set t_Sb=^[[4%dm
set t_Sf=^[[3%dm
endif

试试看吧,有问题再讨论^_^

以下文章可供参考:
http://blog.chinaunix.net/u1/33245/showart.php?id=350033
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: