vim recording功能介绍
使用vim时无意间触碰到q键,左下角出现“recording”这个标识,觉得好奇,遂在网上查了一下,然后这是vim的一个强大功能。他可以录制一个宏(Macro),在开始记录后,会记录你所有的键盘输入,包括在insert模式下的输入、正常模式下使用的各种命令等。
具体使用:
第一步:在正常模式下(非insert模式、非visual模式)按下q键盘
第二步:选择a-z或0-9中任意一个作为缓冲器的名字,准备开始录制宏
第三步:正常的操作,此次所有的操作都会被记录在上一步中定义的缓冲器中
第四步:在非insert模式下输入q停止宏的录制
第五步:使用@ + 第二步中定义的缓冲器的名字即可。
例如想把下面的文字
line1
line-2
line3-1
l4
变成如下的文字
System.out.println(line1);
System.out.println(line1);
System.out.println(line-2);
System.out.println(line3-1);
System.out.println(L4);
观察可以发现他们的规律,在每行文字的开头添加“System.out.println(”,结尾添加“);”就变成下面的信息了。下面简单介绍一下如何使用recording来完成这样的操作。
首先把光标移动line1上,输入qt,准备开始录制,缓冲器的名字为t,录制的动作为:shift + ^ 回到行首、按下i键进入insert模式、输入“System.out.println(”、按下esc键回到正常模式、shift + $ 回到行尾部、按下i键进入insert模式、输入“);”按下esc键回到正常模式,按下q停止录制。然后把光标移动到下面一行的任意位置输入 @ + t 即可。
recording还可以和查询结合起来使用,例如想把一个文件中含有特定字符串的行注释,可以通过这样的宏来实现。在正常模式下输入/search string + enter、shift + ^、i、#、esc、shift + $。
让定制的宏自动执行多次的方法是先输入一个数字,然后在输入@ + 缓冲器的名字。 例如 100@t,表示执行100次。
vim recording功能介绍的更多相关文章
- vim编辑器基本操作介绍
vim编辑器基本操作介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 可能很多小伙伴都听说过vi编辑器或是vim编辑器.它们是Unix和Linux世界最流行的编辑器之一,他们的特 ...
- vim recording的使用方法
使用vim时无意间触碰到q键,左下角出现"recording"这个标识,觉得好奇,遂在网上查了一下,然后这是vim的一个强大功能.他可以录 制一个宏(Macro),在开始记录后,会 ...
- .NET平台开源项目速览(13)机器学习组件Accord.NET框架功能介绍
Accord.NET Framework是在AForge.NET项目的基础上封装和进一步开发而来.因为AForge.NET更注重与一些底层和广度,而Accord.NET Framework更注重与机器 ...
- 微信小程序产品定位及功能介绍
产品定位及功能介绍 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验. 小程序注册 注册小程序帐号 在微信公众平台官网首页(mp.weixin.qq ...
- 带你走近AngularJS - 基本功能介绍
带你走近AngularJS系列: 带你走近AngularJS - 基本功能介绍 带你走近AngularJS - 体验指令实例 带你走近AngularJS - 创建自定义指令 ------------- ...
- MWeb 1.4 新功能介绍一:引入文件夹到 MWeb 中管理,支持 Octpress、Jekyll 等静态博客拖拽插入图片和实时预览
之前在 MWeb 中打开非文档库中的 Markdown 文档,如果文档中有引用到本机图片,是没办法在 MWeb 中显示出来和预览的.这是因为 Apple 规定在 Mac App Store(MAS) ...
- Joomla软件功能介绍与开源程序大比拼Joomla,wordpress,Drupal哪个好?
Joomla 软件功能介绍: Joomla!是一套在国外相当知名的内容管理系统 (Content Management System, CMS),它属于Portal(企业入口网站)类型,顾名思义 ...
- CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系
CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...
- python中列表、元组、字典内部功能介绍
一.列表(list) 常用功能的介绍:
随机推荐
- 【中文分词系列】 4. 基于双向LSTM的seq2seq字标注
http://spaces.ac.cn/archives/3924/ 关于字标注法 上一篇文章谈到了分词的字标注法.要注意字标注法是很有潜力的,要不然它也不会在公开测试中取得最优的成绩了.在我看来,字 ...
- (转)Esfog_UnityShader教程_UnityShader语法实例浅析
距离上次首篇前言已经有一段时间了,一直比较忙,今天是周末不可以再拖了,经过我一段时间的考虑,我决定这一系列的教程会避免过于深入细节,一来可以避免一些同学被误导,二来会避免文章过于冗长难读, 三来可以让 ...
- MonoDB的数据准备
首先是数据的录入,为了分析我们服务器集群的性能,需要准备大量的用户数据,幸运的是mtools提供了mgenerate方法供我们使用.他可以根据一个数据模版向 MongoDB 中插入任意条 json ...
- PowerShell获取当前用户的权限
function Get-CurrentUserRoles { $SecurityPrinciple = New-Object -TypeName System.Security.Princi ...
- Office办公 如何设置WPS的默认背景大小
设计-页面设置,然后修改宽度和高度 因为我们只是需要背景跟平面差不多大(不同屏幕比如宽屏的就比较长),修改宽度和高度的时候注意文字之类的也会被拉伸缩放,所以自己改了之后看效果,比如我100,50的 ...
- HDU1069(还是dp基础)
今天不想说太多废话-由于等下要写自己主动提交机. 不知道能不能成功呢? 题目的意思就是,一个猴子,在叠砖头 ...以下的要严格大于上面的.求叠起来最高能到多少- n非常少,n^2算法毫无压力-话说dp ...
- mycat分库分表 mod-long
转载自:http://blog.csdn.net/sunlihuo/article/details/54574903 下面是配置文件 schema.xml: <?xml version=&quo ...
- ASP.NET使用包含文件,比如asp中用include的方法
不是母板页,包含文件在ASP.NET中是如何使用的? 在网页里包含另一个网页(或文件)方法如下: 一.要包含的文件是css文件的话,用 <link type=text/css rel=style ...
- uni/微信小程序 - 使用外部字体
字体图标/字体仅支持网络css路径(也就是不支持本地路径) 参考于:https://blog.csdn.net/u013451157/article/details/79825740
- Maven进行Mahout编程,使其兼容Hadoop2.2.0环境运行 (转)
http://blog.csdn.net/u010967382/article/details/39209329 http://blog.csdn.net/fansy1990/article/deta ...