在我的.vimrc文件里加了如下三行配置:
imap
autocmd FileType r set fdm=indent
au BufNewFile,BufRead *.R set ft=r
说明:
1、第一行是在“输入模式”下作了一个映射,把ctrl+b映射为” <- “这几个字符(
2、第二行设定当文件类型是R时,把fdm这个option设置为indent,这样可以实现代码折叠,即按z+c就可以把大括号中间的部分折叠起来,编辑多函数的文件时非常方便。用:help可以查看到autocmd这个命令的定义为:autocmd [group] {event} {pattern} [nested] {cmd},即在{event}事件触发时,如果文件名符合{pattern}模式,则执行{cmd}的命令。具体在这里就是当FileType r这个事件被触发时,执行set fdm=indent命令。
3、第三行的au是autocmd的缩写,功能完全一样。这里的定义是指:当BufNewFile,BufRead事件被触发时,如果文件名为*.R,则set ft=r,自动设定好FileType,这就实现了根据文件名后缀自动检测文件类型。其它文件后缀与文件类型的绑定也可以通过这种方法来实现。
4、说到文件类型的检测,还得补充几句,通常你需要默认打开文件类型检测,即设定filetype plugin indent on,可以在vim里输入:filetype查看是否已经开启。除了上述提到的在.vimrc中设定之外,还有两种方法可以设定文件类型,一种是在文件的开头或结尾加上” vim: ft=c “的注释,注意两边的空格,还有不同类型的文件有不同的注释方式;另一种方法是打开文件后直接通过:set ft=r来设定。
简简单单的三行配置就使得自己的工作环境大大改善,很强大吧。
Reference: http://www.wentrue.net/blog/?p=625
没有评论:
发表评论