博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vim 一键添加注释 自动添加文件头注释
阅读量:4991 次
发布时间:2019-06-12

本文共 2549 字,大约阅读时间需要 8 分钟。

估计大家也都和我一样用过不少的编辑器,什么notepad2,emeditor,editplus,ultraedit,vs2005,sourceinsight,slickedit,emacs,vim(gvim),别看多,我其实还是比许多编辑器疯狂玩家(注意,真的是玩家)收敛多了,当然最后还是本分的从了vim(gvim),呵呵,因为Vim实在能带给我其他编辑器所没有的高效。

很多编辑器都支持在源代码中自动添加作者信息的功能,据我所致sourceinsight就支持,虽然我们的Vim(gvim)默认没有这个功能,但是只需要几行代码自己配置一下,我们一样可以让Vim(gvim)支持自动添加作者信息!
还是照例,先贴个图给大家解解馋:

估计大家也都和我一样用过不少的编辑器,什么notepad2,emeditor,editplus,ultraedit,vs2005,sourceinsight,slickedit,emacs,vim(gvim),别看多,我其实还是比许多编辑器疯狂玩家(注意,真的是玩家)收敛多了,当然最后还是本分的从了vim(gvim),呵呵,因为Vim实在能带给我其他编辑器所没有的高效。

很多编辑器都支持在源代码中自动添加作者信息的功能,据我所致sourceinsight就支持,虽然我们的Vim(gvim)默认没有这个功能,但是只需要几行代码自己配置一下,我们一样可以让Vim(gvim)支持自动添加作者信息!
还是照例,先贴个图给大家解解馋:

好啦,现在贴出代码如下:

 
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
"进行版权声明的设置"添加或更新头map 
:call TitleDet()
'sfunction AddTitle() call append(0,"/*=============================================================================") call append(1,"#") call append(2,"# Author: dantezhu - dantezhu@vip.qq.com") call append(3,"#") call append(4,"# QQ : 327775604") call append(5,"#") call append(6,"# Last modified: ".strftime("%Y-%m-%d %H:%M")) call append(7,"#") call append(8,"# Filename: ".expand("%:t")) call append(9,"#") call append(10,"# Description: ") call append(11,"#") call append(12,"=============================================================================*/") echohl WarningMsg | echo "Successful in adding the copyright." | echohl Noneendf"更新最近修改时间和文件名function UpdateTitle() 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 Noneendfunction"判断前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和windows下(vim/gvim)均可运行正常。

不知道大家看懂了没有,实际上在一个C/C++/C#/JAVA文件中,只需要按下F4,那么信息就自动给你添加到文件开头啦;如果已经存在版权信息,那么vim会帮你自动更新到最新状态。
另外还要帮大家提到一个小细节,即

12
normal m'normal ''

这两行,他们实际上是调用了vim(gvim)内置的标记位置的方法,在执行完相应操作之后,又跳回到原来的位置。所以当用F4添加/更新作者信息的时候,不用担心光标的位置会被移动啦~~

好啦,在自己的Vim里面试一下吧,是不是比原来方便了很多啊,有用的话要记得请我吃饭啊~~哈哈
版权所有,转载请注明出处。

转载于:https://www.cnblogs.com/mfryf/p/3643349.html

你可能感兴趣的文章
104. Maximum Depth of Binary Tree
查看>>
Python--变量作用域
查看>>
2017-2018-1 20155235 《信息安全系统设计基础》第九周学习总结
查看>>
!!和??
查看>>
matlab演奏卡农 Cripple Pachebel's Canon on Matlab
查看>>
apache的MPM机制-prefork
查看>>
js的一些实用的小技巧
查看>>
vue-cli中理不清的assetsSubDirectory 和 assetsPublicPath
查看>>
iOS的UILabel设置居上对齐,居中对齐,居下对齐
查看>>
最流行的android组件大全
查看>>
【Android自定义控件】支持多层嵌套RadioButton的RadioGroup
查看>>
Swift - 内存泄露原因(循环强引用)及解决办法
查看>>
AIDL-Android接口描述语言实现跨进程通讯
查看>>
剑指Offer - 九度1354 - 和为S的连续正数序列
查看>>
LeetCode - Anagrams
查看>>
用MFC时,如果程序崩溃,检查内存,然后注意GDI数量,在任务管理器里选项-查看列-GDI数量...
查看>>
angular(转)
查看>>
ansible简单现网配置
查看>>
数据结构C++版-树
查看>>
JavaScript学习总结--创建对象(3_原型)
查看>>