配置vim在源码中自动添加作者信息

时间:2009-12-22

  作者:杨硕,华清远见嵌入式学院讲师。

  每个程序员都有自己心爱的代码编辑和查看工具,相信不少Linux下的程序员都喜欢用Vim,尽管Vim没有SourceInsight这种依托于桌面环境的编辑器看起来那样强大,但是Vim的高效、简洁以及强大的可配置性都让它吸引了无数忠实的fans。

  很多编辑器都支持在源代码中自动添加作者信息的功能,SourceInsight就有这项功能。Vim默认是没有这个功能,但是只要我们稍作配置,就可以实现这个功能了。

  在Linux下我们需要修改Vim的配置文件vimrc,位于:

  /etc/vim/vimrc

  在window下Vim的配置文件位于安装目录下的_vimrc。

  然后在配置文件中添加如下信息,就可以实现在源代码中自动添加作者信息了:

  “将键盘上的F4功能键映射为添加作者信息的快捷键

  map ms:call TitleDet()'s

  function AddTitle()

  call append(0,"/*******************************************************************************")

  "call append(1,"#")

  call append(1," * Author : YangShuo")

  "call append(3,"#")

  call append(2," * Email : ys@farsight.com.cn")

  "call append(5,"#")

  call append(3," * Last modified : ".strftime("%Y-%m-%d %H:%M"))

  "call append(7,"#")

  call append(4," * Filename : ".expand("%:t"))

  "call append(9,"#")

  call append(5," * Description : ")

  "call append(11,"#")

  call append(6," * *****************************************************************************/")

  echohl WarningMsg | echo "Successful in adding the copyright." | echohl None

  endf

  “更新近修改时间和文件名

  normal m'

  execute '/# *Last modified:/s@:.*$@\=strftime(":\t%Y-%m-%d %H:%M")@'

  normal "

  normal mk

  execute '/# *Filename:/s@:.*$@\=":\t\t".expand("%:t")@'

  execute "noh"

  normal 'k

  echohl WarningMsg | echo "Successful in updating the copy right."| echohl None

  endfunction

  “判断前10行代码里面,是否有Last modified这个单词,

  “如果没有的话,代表没有添加过作者信息,需要新添加;

  “如果有的话,那么只需要更新即可

  function TitleDet()

  let n=1

  while n < 10

  let line = getline(n)

  if line =~'^\#\s*\S*Last\smodified:\S*.*$'

  call UpdateTitle()

  return

  endif

  let n = n + 1

  endwhile

  call AddTitle()

  endfunction

  这段配置在Linux和window下均可正常运行。这样在一个C/C++/JAVA/C#的源代码里面,只需要按一下F4,就可以自动添加作者信息了。大家只需要修改上面这段配置关于作者信息的代码,就可以添加自己的信息了。

  这是在我电脑上运行的结果,看一看,是不是很帅:

  赶快动手吧,把这段配置添加到你的vimrc里,这样你就可以轻松地在源文件开始添加你的相关信息了,让我们的代码更加规范。
  “本文由华清远见https://www.embedu.org/index.htm提供”


  
上一篇:利用strstr和sscanf解析GPS信息
下一篇:Ubuntu系统启动过程详解

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料