使用单击键在VIM中插入横幅

时间:2014-10-16 06:33:26

标签: vim header

我正在尝试为我的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()

2 个答案:

答案 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。结帐。