VIm自动生成python的文件头

2023-05-16

VIm自动生成python的文件头

我实现的效果如图所示:思路是在vimrc配置文件中写相关的函数,代码在下面贴出

在这里插入图片描述
:wq保存退出以后,会自动更新上次修改时间
在这里插入图片描述

" 新建py文件时插入文件头
autocmd BufNewFile *.py,*.sh exec ":call SetComment()"

" 新建文件后自动定位到文件末尾
autocmd BufNewFile * normal G

func SetComment()
    if expand("%:e") == 'py'
        call setline(1, '#!/usr/bin/env python')
        call setline(2, '# -*- coding: utf-8 -*-')
        call append(line(".")+1, "# File Name:     ".expand("%"))
        call append(line(".")+2, "# Author:        David")
        call append(line(".")+3, "# Created Time:  ".strftime("%Y-%m-%d  %H:%M"))
        call append(line(".")+4, "# Last Modified: <none>-<none>")
    endif
endfunc


" 保存时插入上次修改时间
au BufWrite *.py call SetLastModifiedTime(-1)

" 插入修改时间函数
func SetLastModifiedTime(lineno)
        let modif_time = strftime("%Y-%m-%d  %H:%M")
        let line = '# Last Modified: '.modif_time
        call setline(6, line)        "此处行号为要显示行号(绝对行号)
        call append(a:lineno, line)
endfunc

其实还有一种方式是事先定义好模板,然后每次检测到py文件时插入,但是我没有解决如何插入动态的时间,所以就只好直接在配置文件中用函数了。如果有哪位大神解决了这个问题,麻烦评论区告知。

参考链接:
vim设置新建文件自动填入的文件头(作者信息等)、设置编辑时间、鼠标直接定位
Automatic headers when opening a new python file with vim
vim 设置自动生成文件头

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

VIm自动生成python的文件头 的相关文章

随机推荐