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文件

Logo

更多推荐