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(使用前将#替换为@)