English 中文(简体)
在 Vim 中自动文档文档注释创建
原标题:Automatic documentation comments creation in Vim

当我打开新文件时, 是否要让 Vim 创建基于文件类型的评论模糊?

我对Vim来说是新来的。这是我要找的功能。当我找到时:

$ vim hello.py

我希望文件以下列方式开始:

#Date Created: 24 May 2012
#Last Modified: (This is optional, really)
#Summary: (enter short summary of program here) 
#Author: My Name
#License: ...

我四处找了找,但找不到解决问题的办法。

最佳回答

您可以在没有骨架文件的情况下使用下列方法完成此任务:

 autocmd BufNewFile *.py exe "normal O#Date Created: " . strftime("%d %b %Y") . "
#Last Modified:
#Summary:
#Author:
#License:
"
 autocmd BufWritePre *.py exe "%s/^#Last Modified:.*$/#Last Modified: " . strftime("%d %b %Y (%T)") . "/e"

放入您的 virc

一个潜在的问题是, autoocmd BufWritePresre 将把当前时间附加到以下线上:

#Last Modified:
问题回答

这包含在 vim 数字立方体帮助中 。 特别是您想要 < a href=" "http://vimdoc. sourceforge. net/ htmldoc/autocmd. html# skeleton" rel = "no follow" > this

此答案以 pb2q s 为基础, 但它使它更可扩展 。 定义要创建的函数, 这样您就可以将其用于各种批注类型 :

function UpdateModifiedTime(comment)
    let savedPosition = getpos(".")
    call cursor(1, 1)
    let modified = a:comment .  Modified: 
    if search(modified,  e ) > 0
        execute  substitute/  . modified .  .*/  . modified .     . strftime( %b %d, %Y %T ) .  / 
    endif
    call setpos(".", savedPosition)
endfunction

(注:我的惯例是尽可能使用较长的文稿格式,除非我是