用Vim编程——配置与技巧

出自Linux Wiki

在2008年11月19日 (三) 09:56由Chenxing (讨论 | 贡献)所做的修订版本

热切期盼您改进本页,要改进本页,请先登录,并选择编辑。

由于转载不当很可能造成格式的破坏,降低文档价值,本文不推荐转载。但是您确实有转载本文档的权利,如果您一定要转载,请一定保留本文的所有信息。

vi作为优秀的文本编辑器,同样可以胜任程序编写任务。本文介绍使用VI进行程序设计的一些技巧。

目录

语法加亮显示

目前的vim支持多种语言的语法高亮显示。在命令状态下输入:

:syntax on

也可缩写为:

:syn on

也可以指定语言,如C语言:

:set syntax=c

括号匹配

在命令状态下,可以使用%进行括号匹配。即在括号处按下"%",光标会跳转到与之匹配的括号。

在VIM 7或更高版本中,支持在插入状态下括号的自动匹配,即高亮显示光标所在处的括号和与之匹配的括号。若要关闭此功能,可用

:NoMatchParen

如果要再开启,可以用

:DoMatchParen

如果要更改颜色,可以用hi,例如:

:hi MatchParen ctermbg=blue ctermfg=white

如果要更改需要匹配的符号,可以编辑matchpairs选项

注释管理

手动地逐行加注释一般较繁,推荐装一些插件来快速地注释(或取消注释)代码,参见Vim与程序注释

缩进

使用自动缩进可能需要设置,vim中对自动缩进的详细设置办法见Vim代码缩进设置。下面介绍调整缩进的方法:

插入状态

Ctrl-T
右缩
Ctrl-D
左缩
^Ctrl-D
删除行首空格

命令状态下左右缩进

>> 右缩进
<< 左缩进
n<< 或 n>> 缩进多行,如4>>

可视状态下的缩进

使用<>进行缩进,也可使用n<n>多节缩进

可以用 = 对选中的部分进行自动缩进。

粘贴时的自动缩进

]p 可以实现p的粘贴功能,并自动缩进

光标移动

gd 到局部变量的定义
gD 到全局变量的定义
[[ 到当前块起始的{处
]] 到当前块结束的}处
Ctrl-O 返回到跳转前的地方

配合ctags,还可使用Ctrl-]进入函数,Ctrl-T返回

其它

K 转到当前函数的文档,需要安装manpages-dev。
:set number 或 :set nu 显示行号
:set nonumber 或 :set nonu 不显示行号
Ctrl-N 或 Ctrl-P 插入模式下的自动补全功能。

目前的问题

如果您认为您的问题有代表性,欢迎添加在这里。如果您确认您的问题是琐碎的问题,请到讨论页面讨论。

参考资料

个人工具
简体繁体转换