新年回来一直忙于工作,今天忙里偷闲赶紧更新一篇,也给大家拜个晚年~~OK,废话不多说,直接进入正题~
老博友应该知道本博曾经写过一款自动添加作者信息的插件,链接如下:Vim在源代码中自动添加作者信息
这次对这款插件做了更新,并放到http://www.vim.org上提供下载:
AuthorInfo : http://www.vim.org/scripts/script.php?script_id=2902
目前AuthorInfo是支持c,cpp,java,php,python,bash,makefile等等多种语言,基本上只要NERD Commenter支持的类型,AuthorInfo都默认支持~这里展示几个例子,先给大家show一下:
c:

php:

python:

OK,简单说一下AuthorInfo的安装方法:

  • 1.安装The NERD Commenter
  • 2.将AuthorInfo下载后放到plugin目录下
  • 3.在vimrc中进行如下配置:

当然,作者名字和邮箱,主页等,请使用个人的配置。

OK,这样在vim中首次按下F4就可以添加作者信息,再次按下就可以自动更新啦.

需要特别说明的是,AuthorInfo在程序中也做了一些小优化:

  • 1.比如对于python,bash等来说,由于文件头经常会有

    这种定义,AuthorInfo会自动判断如果发现类似的行,会在这种行之后添加作者信息(参见上文中的python例子),同样对于php,也会自动在<?php之后添加.
  • 2.对于python这种语言,__doc__是可以直接取到作者信息的注释的,所以AuthorInfo自动将python的注释变成了__doc__可以认的格式。

OK,赶紧去试试吧~~

Vim(gVim)对排序的妙用

前段时间有博友在群里问了一个关于vim排序的问题,因为时间问题一直没帮忙解决,今天时间正好空出来,就帮忙搞了一下。 原文的问题如下: ...

阅读全文

vim(gVim)统计字节、字符数

前段时间在做文件扫描的时候,有一些关于字节、字符数统计的需求,考虑到有同学也可能用的到,所以整理一下记录在这里。 1.统计当前字符之前的所有字节数 ...

阅读全文

糗事百科网站改版,对应qiushibaike.vim插件升级

前不久糗百改版,所以原有的qiushibaike.vim插件用起来会有一些问题,今天有时间就修改了一下. 如图: 下载地址: http://www.vim.org/scripts/script.php?scr...

阅读全文

54则回应给“vim(gvim)添加作者信息插件升级版-更智能,支持更多语言”

  1. xlii说道:

    123 if hasMul == 1
    124 exe ‘normal ‘.firstLine.’Gv’.lastLine.’G,cm’
    125 else
    126 exe ‘normal ‘.firstLine.’Gv’.lastLine.’G,cl’
    127 endif

    It seems that the mapleader is hardcoded to be “,”
    while calling the NERD Commenter.

    [回复]

    Dante 回复:

    这里的”,”不是mapleader哦,NERD Commenter就是用”,”来做第一个字符而已~

    [回复]

    Dante 回复:

    实在不好意思,我去下了NerdComment的最新版本才发现他的映射已经不是用”,”写死了,已经上传了最新版本。

    [回复]

  2. baby walker说道:

    做一个字符是什么意思?是空一个还是就举个例子什么的。

    [回复]

    Dante 回复:

    ?啥叫做一个字符?

    [回复]

    baby walker 回复:

    就是“,”啊,上面的留言看的。。。

    [回复]

    Dante 回复:

    实在不好意思,我去下了NerdComment的最新版本才发现他的映射已经不是用”,”写死了,已经上传了最新版本。

    [回复]

  3. 9hills说道:

    Good!

    Vim确实神器。。。

    [回复]

    Dante 回复:

    哈哈,确实如此~~

    [回复]

  4. fanhe说道:

    借宝地问一个NERD Commenter的问题。NERD Commenter好像注视的时候是在第一个非空字符前添加注释标记。但是我不太喜欢这样,我一般喜欢在行首添加。例如在c源码里,一般都带有缩进,这样在行首添加注释标记不会导致正行后移几个字符。NERD Commenter有这个功能吗。我挺喜欢之前用过的linecommenter的,就是我说的这样注释,只是功能少点而已。

    [回复]

    Dante 回复:

    你说的确实没有的,应该是思想不同吧,举个例子

    注释之后为

    即保证注释都在同一列上,但是如果只注释return 0;这一行就会如下

    [回复]

  5. max说道:

    不知道为什么,我安装了但F4后的信息不正确,The NERD Commenter与AuthorInfo都是vim.org上下载的最新版,C文件出来的信息是这样的
    #==========================
    # FileName: fun.c
    # Desc:
    # Author: Max – http://
    # Email:
    # Version: 0.0.1
    # LastChange: 2011-02-19 10:26:39
    # History:
    #==========================

    [回复]

    Dante 回复:

    好奇怪,你按下,cl的时候,能正确的注释吗?

    [回复]

    max 回复:

    可以正确注释的呢

    [回复]

    max 回复:

    哦,似乎跟我的是\有关,我设置成,就OK了。只能用,做?

    [回复]

    Dante 回复:

    我已经放了最新版本,设置成,和\都可以了,要在vimrc里面加上

    之类的定义即可

    [回复]

    max 回复:

    好的,辛苦了

    [回复]

  6. 君临天下说道:

    好久没有又发了很多文章,需要慢慢品味!

    [回复]

    Dante 回复:

    拙文而已,一起多多交流~~

    [回复]

  7. kikyo说道:

    # Version: 0.0.1

    # LastChange: 2011-02-15 19:46:52

    这个LastChange和Version会自动更新吗?

    [回复]

    Dante 回复:

    LastChange 会。
    Version因为不知道要变成多少,所以不会。

    [回复]

    依云 回复:

    我以前也搞过 Last Change,后来用 git 管理配置了,发现不仅不必要了,而且每次看着它在变更里出现感觉很烦,就去掉了。

    [回复]

    kikyo 回复:

    我还是觉得很有必要的,如果不用git就不知道你最后的更新。

    给个建议,加上创建时间吧。

    // @Created: Fri 04 Mar 2011 11:23:11 PM CST

    关于version,我的处理方法:

    // @Revision: 153

    Revision从1开始,当 &modified && &modifiable 为真时,:wq之后将Revision加1

    [回复]

    依云 回复:

    Revision 还是交给版本控制比较好吧?

    [回复]

  8. lvxue说道:

    我也写了一个:)有空发上来。

    [回复]

  9. zhanglistar说道:

    博主 我想问下你用vim写代码,如何调试? 是开两个term调试呢? 还是把gdb集成到vim里???
    其实,本来我都是开两个term调试的,不过最近看了emacs,可以在emacs里直接调用gdb调试,我去vimonline看了下,好像还没有特别给里的工具。。。。搞的我有点想投入emacs的怀抱了。。。。 博主,拉我一把,怎么在vim里用gdb 调试????

    [回复]

    fanhe 回复:

    可以用 pyclewn。
    vim的调试能力远远不足,你如果想找个ide,别找vim,这是vim的软肋。如果你能喜欢emacs,就用emacs吧

    [回复]

    Dante 回复:

    很多博友都反馈了这种想法,不过对我自己确实从来没想过在vim中用gdb,所以今天也特意试了一下。
    有三种选择:
    1.gdbmgr,这个是纯vim插件,今天用了一下午,确实装上就可以用,也很炫,但是经常报错。果断卸载。
    2.vimgdb
    可以看看易水博客的文章:
    http://easwy.com/blog/archives/advanced-vim-skills-vim-gdb-vimgdb/
    3.pyclewn/clewn
    http://easwy.com/blog/archives/advanced-vim-skills-vim-gdb-pyclewn/

    [回复]

    zhanglistar 回复:

    谢谢博主的回复。
    易水博客的那两篇文章我都看过了,
    算了,目前还是没有太给力的插件,
    还是用老颁办法吧。
    这不影响对vim的喜爱。

    [回复]

  10. 荒野无灯说道:

    正需要这样的插件呢,收下了。

    [回复]

  11. 荒野无灯说道:

    我F2用作NERDTreeToggle,F3用作Taglist
    F4用作BlogList ,F5到F9 ,F12 用作php debugger
    已经没有Fn可以map 了。。。
    只得:nnoremap aid :AuthorInfoDetect

    [回复]

    Dante 回复:

    嗯嗯,其实我觉得F*离手指有点远,用字母打起来更快捷一些。

    [回复]

  12. 最美不过相识说道:

    谢谢博主分享,这个插件找了很久 呵呵

    [回复]

  13. kevinbin说道:

    博主你好 用了你的插件很好用,但遇到些问题。现在用pathogen来管理vim插件,调用authorinfo插件时候 会提示e492 not-an-editor-command authorinfodetect 不知道是什么原因,装有nerdcommenter插件。 没用pathogen之前是正常的

    [回复]

    Dante 回复:

    你好,没用过pathogen。。。

    [回复]

    amaoxiong 回复:

    博主:我使用和pathogen类似的VUNDLE管理插件,也报E492:不是编辑器的命令:AuthorInfoDetect,后来在git上搜索Authorinfo插件,用了一个把authorinfo.vim放在plugin而不是ftplugin里的变体,就可以使用了。看你前面的安装说明也是在plugin目录里,但在git上就是ftplugin里了,可能是这个原因造成的错误

    [回复]

  14. Zhao Cai说道:

    authoinfo 在bash下面产生的注释不对,# 跑到后面去了,能不能fix一下。谢谢。

    ============================================================================== #
    FileName: test.sh #
    Desc: #
    Author: Zhao Cai #
    Email: caizhaoff@gmail.com #
    HomePage: #
    Version: 0.0.1 #
    Date Created: Tue Aug 16, 2011 04:46PM #
    Last Modified: Tue Aug 16, 2011 04:46PM #
    History: #
    ============================================================================== #

    [回复]

    Dante 回复:

    我这里正常呀?
    不过倒是发现
    #!xxx之类的不会被自动跳过,放新版本改了。

    [回复]

  15. Scorpio说道:

    您好,請問我按照您的提示在.vimrc裏添加了:
    let g:vimrc_author=’dantezhu’
    let g:vimrc_email=’zny2008@gmail.com’
    let g:vimrc_homepage=’http://www.vimer.cn’

    nmap :AuthorInfoDetect
    同時,也將authorinfo.vim移到了~/.vim/plugin
    但是我在運行的時候出現了:(之前未有此情况,此期間.vimrc没有其他改動)
    No mapping found
    Press ENTER or type command to continue
    在vim裏面也無法使用本插件。
    我更新了runtimepath,以嘗試把F4換成别的,但是也無法解决這個問題。
    在Google查詢了很多網頁之後也没有找到解决方案。請問,這種我現在該做些什麽?如何處理這個問題?
    我使用的是mac os x 10.6.8 vim 7.3

    [回复]

    nswutong 回复:

    scriptnames看一下有没有加载脚本

    [回复]

    Scorpio 回复:

    謝謝你,我已經解决這個問題了。是因爲命令的格式有問題。因爲我對於一些内容作了修改,然後格式出現了錯誤。我看過vim命令格式的語法之後,已經結局問題了。

    謝謝
    scorpio

    [回复]

  16. nswutong说道:

    建议博主改一下插件分类,https://github.com/vim-scripts/AuthorInfo这里更新时候默认放到了ftplugin目录下面

    [回复]

    Dante 回复:

    我很困惑很困惑的是。。我没有把这些插件传到github去过呀。。。

    [回复]

    nswutong 回复:

    所有插件都会被默认同步过去的,我用这个来更新插件,比什么插件管理器都方便,哈~

    [回复]

  17. wind128说道:

    我想要这如下样式的,应该如何修改?
    /**
    * FileName: 88.html
    * Desc:
    * Author: dantezhu
    * Email: zny2008@gmail.com
    * HomePage: http://www.vimer.cn
    * Version: 1.0.0
    * LastChange: 2012-02-11 23:44:50
    * History:
    */

    [回复]

    Dante 回复:

    呃,这个研究一下代码吧。。

    [回复]

  18. Andy说道:

    “自动添加格式
    map ggi#!/usr/bin/python# -*- coding: utf-8 -*-:w
    imap ggi#!/usr/bin/python# -*- coding: utf-8 -*-:w
    vmap ggi#!/usr/bin/python# -*- coding: utf-8 -*-:w

    [回复]

    Andy 回复:

    回复怎么自动转换格式了

    [回复]

  19. whitemacboy说道:

    用Vundle安装的,也安装了The NERD Commenter,单用《F4》时候,显示E492:不是编辑器的命令:AuthorInfo;

    求助啊。谢谢先。

    [回复]

  20. Hello this is kind of of off topic but I was wanting to know if blogs use WYSIWYG editors or if you have to manually code with
    HTML. I’m starting a blog soon but have no coding know-how so I wanted to get advice from someone with experience. Any help would be greatly appreciated!

    [回复]

  21. leyle说道:

    这个好用,已经添加到我的vim配置里面了。多谢博主了。

    [回复]

  22. crysisfair说道:

    额这个功能挺实用啊,为什么不加上去呢?我把你的代码hack了一下,每次更新最后一个Version自动加1,现在感觉挺不错,你看看?if line =~ ‘^.*Version:S*.*$’ let ver_str_list = split(line, ‘.zs’) let ver_str_list_len = len(ver_str_list) let ver_last_num = ver_str_list[ver_str_list_len - 1] let ver_str_list[ver_str_list_len - 1] = str2nr(ver_last_num) + 1 let newline = join(ver_str_list, ”) call setline(n,newline) let updated = 1 endif这段就加在TitleDet()里面。

    [回复]

    朱念洋 回复:

    赞,这样也挺好~

    [回复]

  23. 街角的幸福说道:

    楼主,要怎么安装插件啊,我新手

    [回复]

发表评论