设置Vim:自动添加文件头

358 阅读1分钟
  1. UbutuUbutu 系统下执行如下命令 image.png
  2. 写入如下代码,在 XXXXXX 处写入想要写入的内容即可
"-----------------------------------------------------------------------------
" Add File Header
"-----------------------------------------------------------------------------
autocmd BufNewFile *.v,*.sv,*.cpp,*.c,*.h exec ":call AddHeader()"
autocmd BufWrite *.c call UpdateLastModifyTime()

function s:GetUserName() 
    let user_name = "XXX"
    return user_name
endfunction 

function AddHeader() 
	let line = getline(1)
  	let filename = expand("%")
	call append(0,  "// +FHDR----------------------------------------------------------------------------")
	call append(1,  "//                 Copyright (c) ".strftime("%Y ") )
	call append(2,  "//                 ALL RIGHTS XXXXXX")
	call append(3,  "// ---------------------------------------------------------------------------------")
	call append(4,  "// Filename      : ".filename)
	call append(5,  "// Author        : ".s:GetUserName())
	call append(6,  "// Created On    : ".strftime("%Y-%m-%d %H:%M"))
	call append(7,  "// Last Modified : ")
	call append(8,  "// ---------------------------------------------------------------------------------")
	call append(9,  "// Description   : ")
	call append(10, "//")
	call append(11, "//")
	call append(12, "// -FHDR----------------------------------------------------------------------------")
endfunction 


"-----------------------------------------------------------------------------
" ModifyTime
"-----------------------------------------------------------------------------
function UpdateLastModifyTime() 
	let line = getline(8)
	if line =~ '// Last Modified'
		call setline(8,"// Last Modified : " . strftime("%Y-%m-%d %H:%M"))
	endif
endfunction 

  1. 输入 :wq:wq 保存并退出 .vimrc.vimrc 文件
  2. 在命令行新建 .c.c 文件查看效果 image.png
  3. 输入 :w:w 进入命令模式并保存文件,LastModifiedLast Modified 就会显示效果如下: image.png