我试图找到
@L_502_0@视觉模式的替代品,这非常有用,比方说我想删除下面两行中的前两个字符
11 line1 22 line2
在vim中,我进入可视模式并选择我要删除的区域,然后将其删除.而且我之后也可以添加到列中
11 22
喜欢
11 added line1 22 added line2
在可视模式下选择列后,按住Shift键.有没有办法在emacs中做同样的事情?
cua-mode提供了这种功能.您可以在.emacs中使用以下内容打开它:
(setq cua-enable-cua-keys nil) (cua-mode)
第一行是必要的,以防止cua模式用Windows风格的东西(C-c用于复制,C-x用于剪切等)替换一堆标准键盘快捷键.
一旦你处于cua模式,C-enter将打开视觉矩形,然后您可以使用移动键(箭头,C-n,C-f等)展开以覆盖您想要操作的文本.当这种情况发生时,按Enter键会将光标移动到矩形的边缘,并且您键入的任何内容都将插入与光标同侧的矩形外部.插入与矩形的大小匹配,因此如果要将同一文本一次添加到一堆行的开头(或中间或末尾),这是最快的方法.
如果禁用cua键绑定,则C-w将终止矩形的内容.
有点不幸的是,cua模式的矩形位不是他们自己的模式,因为很多不想要cua模式绑定的人没有意识到模式也有这个非常酷的功能!