(轉)VIM 一鍵自動添加文件頭注釋


通過修改VIM的配置文件.vimrc可以讓Vim(gvim)支持自動添加作者信息,具體代碼如下:

"進行版權聲明的設置
"添加或更新頭
map <F4> :call TitleDet()<cr>'s
function AddTitle()
    call append(0,"/*=============================================================================")
    call append(1,"#")
    call append(2,"# Author: dantezhu - dantezhu@vip.qq.com")
    call append(3,"#")
    call append(4,"# QQ : 327775604")
    call append(5,"#")
    call append(6,"# Last modified: ".strftime("%Y-%m-%d %H:%M"))
    call append(7,"#")
    call append(8,"# Filename: ".expand("%:t"))
    call append(9,"#")
    call append(10,"# Description: ")
    call append(11,"#")
    call append(12,"=============================================================================*/")
    echohl WarningMsg | echo "Successful in adding the copyright." | echohl None
endf
"更新最近修改時間和文件名
function UpdateTitle()
    normal m'
    execute '/# *Last modified:/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M")@'
    normal ''
    normal mk
    execute '/# *Filename:/s@:.*$@\=":\t\t".expand("%:t")@'
    execute "noh"
    normal 'k
    echohl WarningMsg | echo "Successful in updating the copy right." | echohl None
endfunction
"判斷前10行代碼里面,是否有Last modified這個單詞,
"如果沒有的話,代表沒有添加過作者信息,需要新添加;
"如果有的話,那么只需要更新即可
function TitleDet()
    let n=1
    "默認為添加
    while n < 10
        let line = getline(n)
        if line =~ '^\#\s*\S*Last\smodified:\S*.*$'
            call UpdateTitle()
            return
        endif
        let n = n + 1
    endwhile
    call AddTitle()
endfunction

實際上在一個C/C++/C#/JAVA文件中,只需要按下F4,那么信息就自動給你添加到文件開頭啦;如果已經存在版權信息,那么vim會幫你自動更新到最新狀態。

 

參考文獻:

[1] 注:對原文進行了刪減 原文地址:http://www.cnblogs.com/mfryf/p/3643349.html

[2] vim設置新建文件自動填入的文件頭,以及設置編輯時間. http://blog.csdn.net/waleking/article/details/7632743

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM