Fedora/Centos下vim编辑器设置自动添加作者信息
方法/步骤
1、Linux系统下,需要修改Vim的配置文件vimrc,位于/etc目录下,所以必须以root用户修改,登陆root用户,进入/etc目录,打开vimrc文件
map <F4> ms:call AddAuthor()<cr>'s
语句含义是将F4功能键映射为AddAuthor()函数,按下F4时,将调用AddAuthor()函数
2、添加AddAuthor()函数
函数的功能是判断文件前5行内容是否有Last modified这个单词,如果没有,代表没有添加过作者信息,需要新添加;如果有只需更新这个单词后的文件更改时间即可,函数内容:
function AddAuthor() let n=1 while n < 5 let line = getline(n) if line =~'^\s*\*\s*\S*Last\s*modified\s*:\s*\S*.*' call UpdateTitle() return endif let n = n + 1 endwhile call AddTitle() endfunction
3、前一步骤的AddAuthor()函数中,用到了另外两个函数:UpdateTitle()更新更改时间函数和AddTitle()新添加作者信息函数,需要分别添加
添加UpdateTitle()更新更改时间函数,在AddAuthor()函数判断文件前五行内容中出现Last modified字符后,将执行此函数进行更新时间,函数内容如下:
function UpdateTitle() normal m' execute '/* Last modified\s*:/s@:.*$@\=strftime(": %Y-%m-%d %H:%M")@' normal " normal mk execute '/* Filename\s*:/s@:.*$@\=": ".expand("%:t")@' execute "noh" normal 'k echohl WarningMsg | echo "Successful in updating the copy right." | echohl None endfunction
4、添加AddTitle()新添加作者信息函数,在AddAuthor()函数判断文件前五行内容中没有出现Last modified字符,将执行此函数进行添加作者信息,此函数需要设置作者信息的内容,可自行设置,但必须要有” Last modified”信息行,且此行必须在前5行内,否则AddAuthor()函数在前5行判断不到此条信息,那么每按一次F4都将添加作者信息。AddTitle()函数内容如下,可参照:
function AddTitle() call append(0,"/**********************************************************") call append(1," * Author : oyjb") call append(2," * Email : jbouyang@126.com") call append(3," * Last modified : ".strftime("%Y-%m-%d %H:%M")) call append(4," * Filename : ".expand("%:t")) call append(5," * Description : ") call append(6," * *******************************************************/") echohl WarningMsg | echo "Successful in adding the copyright." | echohl None endfunction
5、 检测编辑无误后保存退出,用非root用户登录,进行测试。用vi随便创建一个文件进行编辑.
按F4键,查看效果,可以看到在AddTitle()函数中设置的作者信息已经字段添加在了文件的开始位置,继续F4(间隔时间大于一分钟)会发现Last modified后的时间也会改变,且在屏幕最下方会提示” Successful in updating the copy right.”
6、为vim设置基本配置文件
一样编辑/etc/vimrc文件