我正在尝试为我的vim文件设置自定义标头。为此,我将以下显示的代码添加到 vimrc 文件中。我想获得修改日期在标题中。如何添加?
插入后我希望Vim处于插入模式。如果可能的话,在描述附近。有什么办法可以实现这个吗?
""""""""""""""""""""""
function FileHeading()
let s:line=line(".")
call setline(s:line,"/*********************************************")
call append(s:line,"* Description - ")
call append(s:line+1,"* Author - ABCD EFG")
call append(s:line+2,"* Created Date - ".strftime("%b %d %Y"))
call append(s:line+3,"* Modified Date -
call append(s:line+4,"* *******************************************/")
unlet s:line
endfunction
imap <F4> <Esc>mz:execute FileHeading()
答案 0 :(得分:4)
注意:您已经通过多个插件重新发明了已经提供(以更强大的方式)的样板标题/代码段插入功能。在vim.org上搜索它们。
片段就像类固醇上的内置:abbreviate
一样,通常带有参数插入,镜像和内部多个停止。第一个非常着名(并且仍然广泛使用)的Vim插件之一是snipMate(受 TextMate 编辑器的启发);不幸的是,它不再维持;虽然有a fork。现代替代方案(虽然需要Python)是UltiSnips。还有更多内容,请参阅this list on the Vim Tips Wiki。
要更新修改时间,您需要通过BufWritePre
和:autocmd
与更新时间对应的标题行挂钩:substitute
事件。您可以使用我的AutoAdapt plugin。 (插件页面包含指向其他插件的链接。)
答案 1 :(得分:0)
正如Ingo所说,片段是满足这种需求的方式。您正在寻找的确切功能可用于Vim的SnipMate和UltiSnips插件。我建议使用UltiSnips,也许最好的资源可能是5 minute VimCasts video。结帐。