文档章节

Vim强大宏记录功能牛刀小试

童年伊梦
 童年伊梦
发布于 2012/09/25 12:14
字数 841
阅读 150
收藏 0

最近做的项目中要用到了大量的坐标点,美工提供给了大概有50~60个坐标点,记录在一个txt文档里面。格式(A)为:

200,320

300,100

320,103

······

大概有50~60个左右的样子。

在编码中,我发现需要对这种格式的点进行统一变化。变化后的格式(B)为:

VectorA.push(new Point(200,320));

VectorA.push(new Point(300,100));

VectorA.push(new Point(320,103));

``````

其实50~60个还好,有人说复制粘贴就行了,想必大家都知道怎么做 但觉得还是麻烦,那100个,1000个呢?

我用的是Windows,所以是Gvim版本。这时候Gvim的宏记录的强大功能便体现了出来。

写这个博客的时候,我手头上没有大量的坐标点做为演示。不防我就用宏记录的功能快速建立100个如格式(A)的坐标点。

图1:进入Gvim,正常模式下,然后按a键进行插入模式,输入“1,1”(引号内的,不包括引号),输入完后,按Esc退出插入进入正常模式。

图2:将光标移动到第一个1上面,按“qa”进入宏记录,这时候的操作都将会被记录下来。后面进行如下操作:

yy--复制该行

p--粘贴该行

图三:图2的操作后结果如上图。这时候Ctrl+a对第一个1进行递增操作,按一次,1递增为2,然后Shift+4将光标移动到该行最后一个字符,也就是上图第二行第二个1,再按一次Ctrl+a,第二个1变成了2。

图四:Shift+6将光标移动到第二行的第一个字符,然后q键退出宏记录。

然后 在正常模式下输入 98@a  

会出现如下结果:

就像你看到的,我先用宏记录功能生成了上面100个点。然后怎么把他们规范成格式(B)的样子呢?还是宏!

1.gg---将光标移动到第一行第一个字符1

2.qa---开始宏记录

3.i-----在第一行第一个字符1前面进入插入模式,直接开始输入VectorA.push(new Point(

4.Esc--退出插入模式

5.Shift+4--将光标移动到该行最后一个字符,也就是第二个1上面

6.a---进入插入模式,输入));

7.Esc--退出插入模式,j将光标下移一行至第二行,然后Shift+6将光标移动到第二行的第一个字符1

8.q----退出宏记录

9.在正常模式下,输入99@a ,看下奇迹把。

(注:上面所述操作需要读者对Gvim有一定的了解,在学习中能够存活下来)

补充一下:有的朋友说我的Ctrl+a怎么在Gvim里面是全选呢,不是你所谓的递增操作。这是因为在Windows下,命令冲突了。怎么办呢?打开Gvim安装目录,找到vim73文件夹(这个跟版本有关)下的mswin.vim,打开,找到

" CTRL-A is Select all

" noremap <C-A> gggH<C-O>G

" inoremap <C-A> <C-O>gg<C-O>gH<C-O>G

" cnoremap <C-A> <C-C>gggH<C-O>G

" onoremap <C-A> <C-C>gggH<C-O>G

" snoremap <C-A> <C-C>gggH<C-O>G

" xnoremap <C-A> <C-C>ggV

就像这样,将映射全部注释掉就好了。(Vim里面的行注释只要在前面输入"就行了)

© 著作权归作者所有

童年伊梦
粉丝 1
博文 29
码字总数 21736
作品 0
浦东
私信 提问
高效率编辑器 VIM___操作篇

虽然从很久前就开始用 VIM 了,但一直都是半调吊 子,翻来覆去只用自己会的命令。最近为了提高书写代码的效率,还有 coding 时候的乐趣,又重新钻研了一下 VIM,发现了一篇很好的 VIM 入门的...

Jerikc
2013/11/01
383
1
VIM快捷键大全

一: 光标移动 四个方向 k h 0 l j ctrl+f, ctrl+b 向下翻页,向上翻页 ctrl+d, ctrl+u 向下半翻页,向上半翻页 $ 移动行尾 0 移动行首 w 移动下一个词 b 移动到上一个词 gg 跳到文档的开始处...

长平狐
2013/03/19
1K
0
VIM使用系列:使用VIM进行项目开发的准备工作

在Linux系统下进行开发的时间零零散散算起来也有将近一年半了,刚开始的时候用的最原始的VIM进行简单的代码编辑,那段时间让我熟练了VIM的命令、编辑模式切换,方向移动和命令模式下的常用命...

水海云
2013/02/02
2.5K
5
TextMate 2.0 (Beta 6.5)发布,OS X 文本编辑器

TextMate 团队刚刚发布了 Text Mate 2.0 (Beta 6.5) 版。 从在GitHub上的commit记录来看,这只是一个微小的Bug修复版本。 TextMate简介: TextMate是Mac下的著名的文本编辑器软件,与BBEdit一...

开源中国真理部部长
2014/12/02
1K
11
内容管理系统--ExpressionEngine

ExpressionEngine是一款功能强大的CMS,一般简称它为EE。有人说它是Blog,也没错,似乎刚开始的时候,EE就是被用来写blog的,但总有点牛刀小试的感觉。 凭借灵活的可定制性以及优秀的模板系统...

匿名
2009/01/16
2K
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
279
6
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
5
0
Spring Boot + Mybatis-Plus 集成与使用(二)

前言: 本章节介绍MyBatis-Puls的CRUD使用。在开始之前,先简单讲解下上章节关于Spring Boot是如何自动配置MyBatis-Plus。 一、自动配置 当Spring Boot应用从主方法main()启动后,首先加载S...

伴学编程
昨天
8
0
用最通俗的方法讲spring [一] ──── AOP

@[TOC](用最通俗的方法讲spring [一] ──── AOP) 写这个系列的目的(可以跳过不看) 自己写这个系列的目的,是因为自己是个比较笨的人,我曾一度怀疑自己的智商不适合干编程这个行业.因为在我...

小贼贼子
昨天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部