文档章节

[VimPlugin]代码修正Tag

f4f
 f4f
发布于 2015/02/19 20:20
字数 550
阅读 119
收藏 2
点赞 0
评论 0
Vim

修正代码时,一般需要对修正的部分做个标示,即修正Tag。

修正Tag还有什么用呢?因为有固定的格式,所以也可以用来统计变更代码的行数。当然,统计代码行数就不是简单的插入一个Snippet了。

标示修正部分 标示修正部分

统计代码行数 统计代码行数

使用说明

  • \ta:在光标所在行插入一个追加代码区域。
  • \tc:变更选中区域。
  • \td:删除选中区域。
  • \tm:统计选中区域的代码行数。
  • \tu:更新当前文件中各个追加代码区域、变更代码区域、删除代码区域的行数。只对关键字符合设定的区域进行更新。
  • \tt:生成用于抽出所有变更区域的bash命令和vi脚本。
  • \ts:运行\tt生成的bash命令后会生成一个结果文件,打开结果文件后用这个命令可以对所有文件的变更代码进行统计求和。
  • \to:同意选中区域的变更代码。选中整个文件再用这个命令可以去掉修正Tag。
  • \tn:否决选中区域的变更代码。选中整个文件再用这个命令可以还原成原始代码。

设定说明

  • 项目关键字s:tag_key1,s:tag_key2,s:tag_key3

    如果关键字不足3个,s:tag_key2和s:tag_key3可以设置为空字符串

  • 修正原因s:tag_allowr,s:tag_reason

    如果s:tag_allowr设为1,会要求用户输入修正原因,修正原因的默认值为s:tag_reason,修正原因会出现在关键字的下一行

  • 编译选项s:tag_mode,s:tag_co

    如果s:tag_mode设为1,则追加部分也会包在#if...#endif之间。

    s:tag_co不为空,且s:tag_mode为1时,不会采用#if 0和#if 1,而会采用#ifdef s:tag_co和#ifndef s:tag_co

  • 姓名s:tag_user

  • 日期格式s:tag_timef

  • 分隔符号s:tag_sep

    关键字左右的字符

  • 修正Tag开始/结束标示s:tag_start,s:tag_end

  • 注释开始/结束标示s:cmt_start,s:cmt_end

    如果要采用//形式的注释,可以把s:cmt_start设成//,把s:cmt_end设成空

插件的代码ModifyTag.vim

© 著作权归作者所有

共有 人打赏支持
f4f

f4f

粉丝 1
博文 10
码字总数 8952
作品 0
武汉
项目经理
OpenBLAS 0.2.10 版本发布

OpenBLAS 0.2.10版本发布,争取做到每月更新一个版本。 主要变动如下: 增加若干BLAS扩展函数 增加NO_AVX2选项,可以支持旧的binutils 修正在最新的x86处理器上的若干优化代码bug 提高了ARM...

xianyi ⋅ 2014/07/17 ⋅ 1

svn代码版本管理

1.0开发,做dev1.0的branch 此时的目录结构 svn://proj/ +trunk/ (不负担开发任务) +branches/ +dev_1.0 (copy from trunk) +tags/ 1.0开发完成,merge dev1.0到trunk 此时的目录结构 s 1) 合...

郭恩洲_OSC博客 ⋅ 2015/03/03 ⋅ 0

Walle 0.8.5 发布,上线部署系统瓦力

Walle - 瓦力 是一个支持svn、git、多用户、多项目、多环境同时部署的上线部署系统。 相比jenkins其项目配置更简单、回滚快速、权限分级、用户分组功能更完善;UI界面更优雅,用户体验更人性...

wushuiyong ⋅ 2015/11/14 ⋅ 11

Cocos2d-x开发实例:使用Lambda 表达式

在Cocos2d-x 3.0之后提供了对C++11标准[1]的支持,其中的Lambda[2]表达式使用起来非常简洁。我们可以使用Lambda表达式重构上一节的实例。 我们可以将下面的代码: [html] view plaincopy li...

智捷课堂 ⋅ 2014/07/26 ⋅ 0

OpenBLAS 0.2.7 版本发布

2013年7月20日 发布OpenBLAS 0.2.7版本。 具体请参考发布页 https://github.com/xianyi/OpenBLAS/releases/tag/v0.2.7 主要更新如下 优化AMD Bulldozer的BLAS3级和部分1,2级函数 (未优化)...

xianyi ⋅ 2013/07/23 ⋅ 6

Walle 1.1.0正式版发布,上线部署系统

Walle 1.1.0正式版发布。 Walle - 瓦力 是一个支持svn、git、多用户、多项目、多环境同时部署的上线部署系统。 相比jenkins其项目配置更简单、回滚快速、权限分级、用户分组功能更完善;UI界...

wushuiyong ⋅ 2016/03/24 ⋅ 12

Z-Blog 2.2 Prism Build 130722 更新日志

主要更新 [主要更新]后台语言包切换 [主要更新]WAP插件独立,新增PAD(AndroidiOs)模式 [主要更新]编辑器彻底插件化,统一其API接口 [主要更新]文章定时恢复重写 [主要更新]新模板标签 [主要更新...

zsxsoft ⋅ 2013/07/22 ⋅ 2

SVN 主干(trunk)、分支(branch )、标记(tag)

主干(trunk)、分支(branch )、标记(tag) 在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆。 在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的...

凯文加内特 ⋅ 2015/08/19 ⋅ 0

Visifire 2.3.0 发布

修正的bug: In Area chart, if value of AxisMinimum property of x-axis is greater than the minimum XValue in DataPoints, Area was going out of PlotArea. 改进: Tag property for al......

红薯 ⋅ 2009/10/31 ⋅ 0

Walle 1.0.0正式版发布,上线部署系统

Walle - 瓦力 是一个支持svn、git、多用户、多项目、多环境同时部署的上线部署系统。 相比jenkins其项目配置更简单、回滚快速、权限分级、用户分组功能更完善;UI界面更优雅,用户体验更人性...

wushuiyong ⋅ 2016/01/29 ⋅ 14

没有更多内容

加载失败,请刷新页面

加载更多

下一页

mysql5.7系列修改root默认密码

操作系统为centos7 64 1、修改 /etc/my.cnf,在 [mysqld] 小节下添加一行:skip-grant-tables=1 这一行配置让 mysqld 启动时不对密码进行验证 2、重启 mysqld 服务:systemctl restart mysql...

sskill ⋅ 15分钟前 ⋅ 0

Intellij IDEA神器常用技巧六-Debug详解

在调试代码的时候,你的项目得debug模式启动,也就是点那个绿色的甲虫启动服务器,然后,就可以在代码里面断点调试啦。下面不要在意,这个快捷键具体是啥,因为,这个keymap是可以自己配置的...

Mkeeper ⋅ 19分钟前 ⋅ 0

zip压缩工具、tar打包、打包并压缩

zip 支持压缩目录 1.在/tmp/目录下创建目录(study_zip)及文件 root@yolks1 study_zip]# !treetree 11└── 2 └── 3 └── test_zip.txt2 directories, 1 file 2.yum...

蛋黄Yolks ⋅ 21分钟前 ⋅ 0

聊聊HystrixThreadPool

序 本文主要研究一下HystrixThreadPool HystrixThreadPool hystrix-core-1.5.12-sources.jar!/com/netflix/hystrix/HystrixThreadPool.java /** * ThreadPool used to executed {@link Hys......

go4it ⋅ 40分钟前 ⋅ 0

容器之上传镜像到Docker hub

Docker hub在国内可以访问,首先要创建一个账号,这个后面会用到,我是用126邮箱注册的。 1. docker login List-1 Username不能使用你注册的邮箱,要用使用注册时用的username;要输入密码 ...

汉斯-冯-拉特 ⋅ 46分钟前 ⋅ 0

SpringBoot简单使用ehcache

1,SpringBoot版本 2.0.3.RELEASE ①,pom.xml <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.3.RELE......

暗中观察 ⋅ 47分钟前 ⋅ 0

监控各项服务

比如有三个服务, 为了减少故障时间,增加监控任务,使用linux的 crontab 实现. 步骤: 1,每个服务写一个ping接口 监控如下内容: 1,HouseServer 是否正常运行,所以需要增加一个ping的接口 ; http...

黄威 ⋅ 51分钟前 ⋅ 0

Spring源码解析(八)——实例创建(下)

前言 来到实例创建的最后一节,前面已经将一个实例通过不同方式(工厂方法、构造器注入、默认构造器)给创建出来了,下面我们要对创建出来的实例进行一些“加工”处理。 源码解读 回顾下之前...

MarvelCode ⋅ 51分钟前 ⋅ 0

nodejs __proto__跟prototype

前言 nodejs中完全没有class的这个概念,这点跟PHP,JAVA等面向对象的语言很不一样,没有class跟object的区分,那么nodejs是怎么样实现继承的呢? 对象 对象是由属性跟方法组成的一个东西,就...

Ai5tbb ⋅ 57分钟前 ⋅ 0

Ubuntu16.04 PHP7.0 不能用MYSQLi方式连接MySQL5.7数据库

Q: Ubuntu16.04 PHP7.0 不能用MYSQLi方式连接MySQL5.7数据库 A: 执行以下2条命令解决: apt-get install php-mysql service apache2 restart php -m 执行后会多以下4个模块: mysqli mysqlnd...

SamXIAO ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部