emacs-rectangle-and-macro
Table of Contents
Emacs: 矩形 * 对齐 * 简单宏.
1、 rectangle(矩形区域操作)
poor man's multi-cursor
基本操作
[X] 替换/插入 replace-rectangle
[X] 剪切 kill-rectangle
[X] 复制 copy-rectangle-as-kill
[X] 粘贴 yank-rectangle
[X] 增加空间 open-rectangle
[X] 删除矩形区域 clear-rectangle
[X] 我用左对齐(锯齿) delete-whitespace-rectangle
[X] rectangle-mark-mode 矩形选区模式(而不是流式选区模式)
[X] rectangle-exchange-point-and-mark (从四个顶角修改矩形选区)
习题: 快速补齐string?
:name string? :age :gender :school :company :mobile :card-no
2 对齐(给矩形操作准备条件)
基本操作
正则对齐 align-regex
习题: 对齐第二列
apple "苹果" banana "香蕉" Cactoideae "仙人掌"
3 宏(操作录像)
加速 自动化. --《卓有成效的程序员》
基本操作
- [x] 开始录像 kmacro-start-macro
- [x] 结束录像 kmacro-end-macro
- [x] 执行刚才那个macro call-last-kbd-macro
- [x] 给刚才的录像起名 name-last-kbd-macro
- [x] 存储macro为永久命令 insert-kbd-macro 存到自己的配置文件中。
习题: marvin 出题:不等长结尾加逗号
name age gender school company mobile card-no
习题: 快速增加(ds/opt ...)
(ds/opt :name) (ds/opt :name) :age :gender :school :company :mobile :card-no
综合实战: 从product.sql的建表语句到接口spec.
CREATE TABLE t_product (
product_id varchar(40) NOT NULL COMMENT '主键',
category_id varchar(40) NOT NULL COMMENT '商品品类',
company_id varchar(40) NOT NULL COMMENT '商品所属公司',
product_name varchar(100) DEFAULT NULL COMMENT '商品名称',
product_no varchar(40) DEFAULT NULL COMMENT '商品编码',
...)
{:product_id string? ;; '主键', :category_id string? ;; '商品品类', (ds/opt :company_id) string? ;; '商品所属公司', (ds/opt :product_name) string? ;; '商品名称', … }
答案:
1、先利用 `空格 空格’ 进行对齐 。
2、利用rectangle删除掉中间,批量增加字段类型。
3、录制增加(ds/opt)的宏,操作一次,然后用repeat命令重复执行。