Linux下vim编辑器设置自动添加作者信息
2016-04-09 19:01
791 查看
Linux下vim编辑器设置自动添加作者信息
Fedora/Centos下vim编辑器设置自动添加作者信息
方法/步骤
1、Linux系统下,需要修改Vim的配置文件vimrc,位于/etc目录下,所以必须以root用户修改,登陆root用户,进入/etc目录,打开vimrc文件
用vim打开vimrc配置文件后,连点两次大写字母’G’跳到文件末尾进行编辑。将键盘上的F4功能键映射为添加作者信息的快捷键,按字母’i’进入写入模式,添加以下内容:
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文件
相关文章推荐
- Linux socket 初步
- Linux Kernel 4.0 RC5 发布!
- VIM编译器显示TAB和TAB转换为空格
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- 菜鸟说给菜鸟听之VIM--入门篇(1)
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户