用Vim编程——配置与技巧
出自Linux Wiki
热切期盼您改进本页,要改进本页,请先登录,并选择编辑。
由于转载不当很可能造成格式的破坏,降低文档价值,本文不推荐转载。但是您确实有转载本文档的权利,如果您一定要转载,请一定保留本文的所有信息。
VI作为优秀的文本编辑器,同样可以胜任程序编写任务。本文介绍使用VI进行程序设计的一些技巧。
目录 |
语法加亮显示
目前的vim支持多种语言的语法高亮显示。在命令状态下输入:
:syntax on
也可缩写为:
:syn on
也可以指定语言,如C语言:
:set syntax=c
括号匹配
在命令状态下,可以使用%进行括号匹配。即在括号处按下"%",光标会跳转到与之匹配的括号。
在VIM 7或更高版本中,支持在插入状态下括号的自动匹配,即高亮显示光标所在处的括号和与之匹配的括号。若要关闭此功能,可用
:NoMatchParen
如果要再开启,可以用
:DoMatchParen
如果要更改颜色,可以用hi,例如:
:hi MatchParen ctermbg=blue ctermfg=white
如果要更改需要匹配的符号,可以编辑matchpairs选项
缩进
插入状态
C风格自动缩进
:set cindent
一般自动缩进
:set autoindent
取消自动缩进
:set nocindent :set noautoindent
在行中对该行进行缩进 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也可以的。 |
Ctrl-N | 插入模式下的自动补全功能 ^P也是。 |
目前的问题
如果您认为您的问题有代表性,欢迎添加在这里。如果您确认您的问题是琐碎的问题,请到讨论页面讨论。
参考资料
- vim的文档
- http://jmcpherson.org/editing.html
- http://www.troubleshooters.com/linux/leap_vi/interface.html
- http://linuxtoy.org/archives/vim_7_new_features.html
--Chenxing 00:38 2007年6月3日 (CST)