Vim的强大就不用我多说了,很多的自定义功能可以由自己更改Vim的配置文件以实现,本文将介绍的是:
- 创建新文件时,自动添加头部注释信息
- 保存文件时,自动重写“修改时间”
先来看看效果,当直接创建一个新文件的时候(vim filename.PHP),就会出现以下注释文字
02 | #*********************************************** |
04 | # Filename: Mysql. class .php |
06 | # Author: Mp - mingpeng16@gmail.com |
07 | # Description: Abstract CLASS |
08 | # Create: 2013-12-17 15:19:20 |
09 | # Last Modified: 2013-12-18 10:41:31 |
10 | #*********************************************** |
当保存文件的时候(:w ),会自动修改相应的“修改时间”
我们需要做的就是打开vimrc配置文件,一般来说,vim的位置在 etc/vim 目录下,然后在文件的末尾添加相应的代码即可。
02 | autocmd BufNewFile *.php,*.js,*.cpp exec ":call SetComment()" |normal 10Go |
05 | if expand ( "%:e" ) == 'php' |
06 | call setline(1, "<?php" ) |
07 | elseif expand ( "%:e" ) == 'js' |
08 | call setline(1, '//JavaScript file' ) |
09 | elseif expand ( "%:e" ) == 'cpp' |
10 | call setline(1, '//C++ file' ) |
12 | call append(1, '#***********************************************' ) |
14 | call append(3, '# Filename: ' . expand ( "%" )) |
16 | call append(5, '# Author: Mp - mingpeng16@gmail.com' ) |
17 | call append(6, '# Description: ---' ) |
18 | call append(7, '# Create: ' .strftime( "%Y-%m-%d %H:%M:%S" )) |
19 | call append(8, '# Last Modified: ' .strftime( "%Y-%m-%d %H:%M:%S" )) |
20 | call append(9, '#***********************************************' ) |
24 | map <F2> :call SetComment()<CR>:10<CR>o |
上面的这段代码,简要说明一下,用的是vim language,SetComment就是主要功能实现函数,autocmd该行是在创建新文件的时候自动执行SetComment函数,最后还有个map映射,这里绑定了F2安键,每次按下也会插入头部信息。
01 | "SET Last Modified Time START |
05 | if search ( 'Last Modified' ) != 0 |
07 | call setline(line, '# Last Modified: ' .strftime( "%Y-%m-%d %H:%M:%S" )) |
11 | autocmd FileWritePre,BufWritePre *.php,*.js,*.cpp ks|call DataInsert() |'s |
12 | "SET Last Modified Time END |
上面这段代码,本质就是查找信息进行修改,最后的autocmd也是同上道理。