elvalad

修仙
Emacs矩形操作

原始矩形块模式

emacs以C-x r开头的命令来进行矩形操作。先用C-space或者C-@设一个mark,移动光标到另一点,用以下命令进行列操作:
C-x r r 复制一个矩形区域到寄存器
C-x r k 剪切一个矩形块
C-x r y 粘贴一个矩形块
C-x r o 插入一个矩形块
C-x r c 清除一个矩形块(使其变成空白)
C-x r t 在选定区域的所有列前插入样的字符

Rect-Mark

有时我会存在这种需求,我想删除连续29行的行首那一列,如下:
 
我需要删除行首的数字,这时候Emacs自带的矩形区域选择就不了作用了,需要使用一个叫做rect-mark的插件,
使用这个插件可以通过M-x rm-set-mark激活矩形选择模式,如图
 
选中之后再使用原始的矩形操作命令,例如删除数字行C-x r k替换其他字符C-x r t
 
安装rect-mark.el插件
下载之后将插件放到自己的LoadPath,然后再.emacs中加入(require 'rect-mark)
 
一些快捷键配置
(global-set-key (kbd "C-x r C-SPC") 'rm-set-mark)
    (global-set-key (kbd "C-x r C-x") 'rm-exchange-point-and-mark)
    (global-set-key (kbd "C-x r C-w") 'rm-kill-region)
    (global-set-key (kbd "C-x r M-w") 'rm-kill-ring-save)
    (autoload 'rm-set-mark "rect-mark"
      "Set mark for rectangle." t)
    (autoload 'rm-exchange-point-and-mark "rect-mark"
      "Exchange point and mark for rectangle." t)
    (autoload 'rm-kill-region "rect-mark"
      "Kill a rectangular region and save it in the kill ring." t)
    (autoload 'rm-kill-ring-save "rect-mark"
      "Copy a rectangular region to the kill ring." t)

posted on 2014-10-26 20:02  elvalad  阅读(1095)  评论(0编辑  收藏  举报