vim(gvim)添加作者信息插件升级版-更智能,支持更多语言
Published on 二月 15, 2011
新年回来一直忙于工作,今天忙里偷闲赶紧更新一篇,也给大家拜个晚年~~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:
1 2 3 4 5 6 7 8 9 | /*=============================================================================
# Author: dantezhu - http://www.vimer.cn
# Email: zny2008@gmail.com
# FileName: test2.cpp
# Description:
# Version: 0.0.1
# LastChange: 2011-02-15 19:46:03
# History:
=============================================================================*/ |
php:
1 2 3 4 5 6 7 8 9 10 11 | <?php /*============================================================================= # Author: dantezhu - http://www.vimer.cn # Email: zny2008@gmail.com # FileName: test4.php # Description: # Version: 0.0.1 # LastChange: 2011-02-15 19:46:30 # History: =============================================================================*/ ?> |
python:
1 2 3 4 5 6 7 8 9 10 11 12 13 | #!/usr/bin/python # -*- coding: utf-8 -*- ''' #============================================================================= # Author: dantezhu - http://www.vimer.cn # Email: zny2008@gmail.com # FileName: y.py # Description: # Version: 0.0.1 # LastChange: 2011-02-15 19:46:52 # History: #============================================================================= ''' |
OK,简单说一下AuthorInfo的安装方法:
- 1.安装The NERD Commenter
- 2.将AuthorInfo下载后放到plugin目录下
- 3.在vimrc中进行如下配置:
1 2 3 4 5
let g:vimrc_author='dantezhu' let g:vimrc_email='zny2008@gmail.com' let g:vimrc_homepage='http://www.vimer.cn' nmap <F4> :AuthorInfoDetect<cr>
当然,作者名字和邮箱,主页等,请使用个人的配置。
OK,这样在vim中首次按下F4就可以添加作者信息,再次按下就可以自动更新啦.
需要特别说明的是,AuthorInfo在程序中也做了一些小优化:
- 1.比如对于python,bash等来说,由于文件头经常会有
1 2
#!/usr/bin/python # -*- coding: utf-8 -*-
这种定义,AuthorInfo会自动判断如果发现类似的行,会在这种行之后添加作者信息(参见上文中的python例子),同样对于php,也会自动在<?php之后添加.
- 2.对于python这种语言,__doc__是可以直接取到作者信息的注释的,所以AuthorInfo自动将python的注释变成了__doc__可以认的格式。
OK,赶紧去试试吧~~
原创文章,版权所有。转载请注明:转载自Vimer的程序世界 [ http://www.vimer.cn ]
本文链接地址: http://www.vimer.cn/?p=1975
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 回复:
二月 16th, 2011 at 10:31 下午
这里的”,”不是mapleader哦,NERD Commenter就是用”,”来做第一个字符而已~
[回复]
Dante 回复:
二月 23rd, 2011 at 4:04 下午
实在不好意思,我去下了NerdComment的最新版本才发现他的映射已经不是用”,”写死了,已经上传了最新版本。
[回复]
做一个字符是什么意思?是空一个还是就举个例子什么的。
[回复]
Dante 回复:
二月 17th, 2011 at 12:35 下午
?啥叫做一个字符?
[回复]
baby walker 回复:
二月 18th, 2011 at 8:58 上午
就是“,”啊,上面的留言看的。。。
[回复]
Dante 回复:
二月 23rd, 2011 at 4:04 下午
实在不好意思,我去下了NerdComment的最新版本才发现他的映射已经不是用”,”写死了,已经上传了最新版本。
[回复]
Good!
Vim确实神器。。。
[回复]
Dante 回复:
二月 17th, 2011 at 9:03 下午
哈哈,确实如此~~
[回复]
借宝地问一个NERD Commenter的问题。NERD Commenter好像注视的时候是在第一个非空字符前添加注释标记。但是我不太喜欢这样,我一般喜欢在行首添加。例如在c源码里,一般都带有缩进,这样在行首添加注释标记不会导致正行后移几个字符。NERD Commenter有这个功能吗。我挺喜欢之前用过的linecommenter的,就是我说的这样注释,只是功能少点而已。
[回复]
Dante 回复:
二月 18th, 2011 at 10:01 上午
你说的确实没有的,应该是思想不同吧,举个例子
注释之后为
即保证注释都在同一列上,但是如果只注释return 0;这一行就会如下
//return 0;[回复]
不知道为什么,我安装了但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 回复:
二月 19th, 2011 at 1:31 下午
好奇怪,你按下,cl的时候,能正确的注释吗?
[回复]
max 回复:
二月 24th, 2011 at 4:59 下午
可以正确注释的呢
[回复]
max 回复:
二月 24th, 2011 at 5:04 下午
哦,似乎跟我的是\有关,我设置成,就OK了。只能用,做?
[回复]
Dante 回复:
二月 24th, 2011 at 5:27 下午
我已经放了最新版本,设置成,和\都可以了,要在vimrc里面加上
之类的定义即可
[回复]
max 回复:
二月 28th, 2011 at 7:22 下午
好的,辛苦了
[回复]
好久没有又发了很多文章,需要慢慢品味!
[回复]
Dante 回复:
二月 19th, 2011 at 11:40 下午
拙文而已,一起多多交流~~
[回复]
# Version: 0.0.1
# LastChange: 2011-02-15 19:46:52
这个LastChange和Version会自动更新吗?
[回复]
Dante 回复:
三月 14th, 2011 at 10:36 上午
LastChange 会。
Version因为不知道要变成多少,所以不会。
[回复]
依云 回复:
三月 14th, 2011 at 12:54 下午
我以前也搞过 Last Change,后来用 git 管理配置了,发现不仅不必要了,而且每次看着它在变更里出现感觉很烦,就去掉了。
[回复]
kikyo 回复:
三月 14th, 2011 at 3:26 下午
我还是觉得很有必要的,如果不用git就不知道你最后的更新。
给个建议,加上创建时间吧。
// @Created: Fri 04 Mar 2011 11:23:11 PM CST
关于version,我的处理方法:
// @Revision: 153
Revision从1开始,当 &modified && &modifiable 为真时,:wq之后将Revision加1
[回复]
依云 回复:
三月 14th, 2011 at 4:04 下午
Revision 还是交给版本控制比较好吧?
[回复]
我也写了一个:)有空发上来。
[回复]
博主 我想问下你用vim写代码,如何调试? 是开两个term调试呢? 还是把gdb集成到vim里???
其实,本来我都是开两个term调试的,不过最近看了emacs,可以在emacs里直接调用gdb调试,我去vimonline看了下,好像还没有特别给里的工具。。。。搞的我有点想投入emacs的怀抱了。。。。 博主,拉我一把,怎么在vim里用gdb 调试????
[回复]
fanhe 回复:
四月 2nd, 2011 at 1:36 下午
可以用 pyclewn。
vim的调试能力远远不足,你如果想找个ide,别找vim,这是vim的软肋。如果你能喜欢emacs,就用emacs吧
[回复]
Dante 回复:
四月 2nd, 2011 at 5:46 下午
很多博友都反馈了这种想法,不过对我自己确实从来没想过在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 回复:
四月 4th, 2011 at 11:41 上午
谢谢博主的回复。
易水博客的那两篇文章我都看过了,
算了,目前还是没有太给力的插件,
还是用老颁办法吧。
这不影响对vim的喜爱。
[回复]
正需要这样的插件呢,收下了。
[回复]
我F2用作NERDTreeToggle,F3用作Taglist
F4用作BlogList ,F5到F9 ,F12 用作php debugger
已经没有Fn可以map 了。。。
只得:nnoremap aid :AuthorInfoDetect
[回复]
Dante 回复:
六月 7th, 2011 at 11:13 下午
嗯嗯,其实我觉得F*离手指有点远,用字母打起来更快捷一些。
[回复]
谢谢博主分享,这个插件找了很久 呵呵
[回复]
博主你好 用了你的插件很好用,但遇到些问题。现在用pathogen来管理vim插件,调用authorinfo插件时候 会提示e492 not-an-editor-command authorinfodetect 不知道是什么原因,装有nerdcommenter插件。 没用pathogen之前是正常的
[回复]
Dante 回复:
七月 28th, 2011 at 8:22 下午
你好,没用过pathogen。。。
[回复]
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 回复:
八月 19th, 2011 at 12:12 上午
我这里正常呀?
不过倒是发现
#!xxx之类的不会被自动跳过,放新版本改了。
[回复]
您好,請問我按照您的提示在.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 回复:
十二月 27th, 2011 at 12:57 上午
scriptnames看一下有没有加载脚本
[回复]
Scorpio 回复:
十二月 27th, 2011 at 9:01 上午
謝謝你,我已經解决這個問題了。是因爲命令的格式有問題。因爲我對於一些内容作了修改,然後格式出現了錯誤。我看過vim命令格式的語法之後,已經結局問題了。
謝謝
scorpio
[回复]
建议博主改一下插件分类,https://github.com/vim-scripts/AuthorInfo这里更新时候默认放到了ftplugin目录下面
[回复]
Dante 回复:
十二月 29th, 2011 at 6:18 下午
我很困惑很困惑的是。。我没有把这些插件传到github去过呀。。。
[回复]
nswutong 回复:
十二月 31st, 2011 at 12:06 上午
所有插件都会被默认同步过去的,我用这个来更新插件,比什么插件管理器都方便,哈~
[回复]
我想要这如下样式的,应该如何修改?
/**
* 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 回复:
二月 13th, 2012 at 9:18 上午
呃,这个研究一下代码吧。。
[回复]