跳过正文

meow 多行编辑的一些技巧

·399 字·1 分钟
lizqwerscott
作者
lizqwerscott
目录

meow 的 beacon-mode
#

可以快速的录制 emacs 键盘宏,并且应用到选择的行上边,但最好 meow 进入 beacon-mode 后关闭括号自动配对功能,要不然括号自动配对会对宏编辑产生一些影响。 具体例子可以查看 meow 官方的演示

多行数字按顺序生成
#

当我们使用 meow 键盘宏生成了多行代码的时候,会遇到想要按照顺序生成数组的下标,比如想要使用 meow 生成如下代码的时候:

int a[3] = {0, 1, 2};
int c = a[0];
int d = a[1];
int e = a[2];

只能生成:

int a[3] = {0, 1, 2};
int c = a[0];
int d = a[0];
int e = a[0];

这时候就可以使用两种方法进行生成

矩形区域
#

  1. 使用 C-x SPC 选择数字所在的矩形区域 rectangle-mark-mode
  2. 使用 C-x r k 删除原本的数字 kill-rectangle
  3. 使用 C-x r N 来生成递增的数字 rectangle-number-lines (最好加上前缀 C-u 可以自定义开始数字和输出格式)

使用正则替换
#

直接使用 replace-regexp 把相同的数字替换成 \#, 就是按照 0 开头的数字列表了

visual-replace
#

需要首先打开正则表达式 visual-replace 官方文档 使用 M-% r 打开或者关闭,需要注意的是如果你使用以下配置配置 visual-replace

(require 'visual-replace)
(global-set-key (kbd "s-r") #'visual-replace)
(visual-replace-global-mode 1)

那么 visual-replace 的快捷键都是以你配置的快捷键位开头,就要使用 s-r r 来开启正则功能了