分享一个Emacs宝藏级操作:Column Editing

本质上是利用M-x cua-set-rectangle-mark 这个命令。

下面这个3分钟视频非常值得一看:

https://vimeo.com/1168225?pg=embed&sec=1168225

如果像我一样默认就是用CUA模式,可以直接通过C-Enter进入 cua-set-retangle-mark模式,之后可以使用方向键进行区域选择,再次按下回车则可以选择不同的插入模式。

PS: 在论坛里搜索了一下,好像还没人提及这个操作。

2赞

以前没主意到矩形选取选中后, Enter 可以在4个对角轮转来控制在左侧 或者右侧输入字符;另外学到了 M-n 插入递增序列也很有用。

有没有可能照顾下在“里面”的群众?劳烦搬运下? :grin:

自从用了multiple-cursors.e l就很少用到这个列编辑命令了。

1赞

而且论坛里很多都是evil党

1赞

这看起来像 evil 的 ctrl+v

感谢分享

是的,类似的功能。Evil党不需要这个

我有个好用的姿势是如果有选区 C-RET 就激活 multiple-cursor 没有的话就激活 cua~~

(defun cua-or-multicursor ()
  (interactive)
  (if (use-region-p)
      (mc/edit-lines)
    (cua-rectangle-mark-mode)))

前插可以 C-v I 然后输入,尾插怎么搞呢?

你是指往行尾插入吗?如果是的话,C-v,选择列,然后按$就选中了行尾,然后就可以按A进行插入了。我现在不用evil了 :grin:

2赞

原来还要再按一下 $,学会了!

我本来也不想再装evil的,但是evil切分insert state和normal state真的好使 :joy:

避免误操作修改当前的buffer。

最近用keyboard macro 用上瘾了,感觉这些需求都能解决,但是行数多的时候有点卡。

https://www.bilibili.com/video/BV1yv411t7ez

1赞

看起来和 C-x r t 类似?

好心人 :+1: :heart: