Vim打开Python源码自动添加#!行和编码行 升级版

最近在学习python,好吧,不是因为python太火,火不火的跟我没啥关系,不过确实,有很多前辈对我这个vim入门级小菜鸟给予了很多的帮助,那么回到正题就是因为写python的时候要添加注释,然后我碰巧比较懒,于是cold老大(我的偶像,博客地址在此:cold's world)给我贴了一个他写的自动为新建的py文件添加注释等信息的方法,特此转载,原文出处在此(Vim打开Python源码自动添加#!行和编码行 升级版),尊重原创,请勿非法转载。以下为原文内容,文章会在最后标注我实际添加过程中的不同之处。

之前给大家分享过一个打开Python源代码时自动添加#!行和编码行来避免一些重复的工作,那个是因为需要大量编写时临时的解决方案,后来使用中会出现一些问题,比如查看别人源码时也会更改一些东西,从而造成git不必要的更新和手动删除的额外动作,所以又写了一个,只是在文件是新打开文件时或者空文件才自动添加的方法,同时再打开python源文件将这个方法绑定要F4上可以手动添加,并会判断是否有这两行,如果有则不执行动作,同时也添加了一些辅助性注释, 比如 作者/邮箱/创建日期和描述,代码实现如下:

"Python 注释
function InsertPythonComment()
    exe 'normal'.1.'G'
    let line = getline('.')
    if line =~ '^#!.*$' || line =~ '^#.*coding:.*$'
        return
    endif
    normal O
    call setline('.', '#!/usr/bin/env python')
    normal o
    call setline('.', '# -*- coding:utf-8 -*-')
    normal o
    call setline('.', '#')
    normal o
    call setline('.', '#   Author  :   '.g:python_author)
    normal o
    call setline('.', '#   E-mail  :   '.g:python_email)
    normal o
    call setline('.', '#   Date    :   '.strftime("%y/%m/%d %H:%M:%S"))
    normal o
    call setline('.', '#   Desc    :   ')
    normal o
    call setline('.', '#')
    normal o
    call cursor(7, 17)
endfunction
function InsertCommentWhenOpen()
    if a:lastline == 1 && !getline('.')
        call InsertPythonComment()
    end
endfunc
au FileType python :%call InsertCommentWhenOpen()
au FileType python map <F4> :call InsertPythonComment()<cr>

将上面的代码放到你的vimrc中,同时在vimrc添加:

let g:python_author = 'cold'               # 姓名
let g:python_email  = 'wh_linux@126.com'   # 邮箱

这样在每次打开空的python源文件时就会添加这些注释信息,并可以在非空没有这些注释的情况下按F4添加,配置玩后,打开空的python源文件效果如下: 好看的statusline


那么说下我实际测试中的吧,我实际写的时候,可能是因为vim版本不太一样,然后不能用end来代替endif,也不能用endfunc来代替endfunction,所以如果报同样错误的同学需要注意了,最后贴一张我实际的效果图:


嗯,最后我想说,不用在乎IDE强还是vim强,争来争去的没必要,自己喜欢就好。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值