我想在没有鼠标的情况下选择或突出显示emacs中的块,而是像vim的可视模式一样在键盘上突出显示.从键盘上最简单的方法是什么?
如果我正确理解了这个问题,那么它最初并不是关于矩形区域.
C-Spc
在当前位置加上标记.
无论光标在何处,最后一个标记和当前位置之间的文本都是"选中"(您可以通过激活来突出显示该文本transient-mark-mode
,但这也意味着当您不想要突出显示时必须删除标记).
您可以使用以下命令在该区域上操作:
C-w
..杀死地区.这会删除并将该区域放入杀环.
C-y
..扬克.这将插入kill ring中的最后一个片段.
M-y
..循环杀死戒指.紧接着之后C-y
,这将被杀死环中的其他片段替换为猛拉部分.
M-w
..保存区域成杀环.喜欢C-w
,但不删除.
这只是基本用法.马克也有其他用途.我推荐教程(C-h t
).
看看emacs中的区域矩形.
总之,你开始选择像往常一样Control- Space,然后杀死区域用Control- x r k并粘贴(或抽出)杀死阻滞Control- x r y.
Emacs 24.4现在有矩形标记模式.Cx空间来调用它.
请参阅文章:"使用矩形选择",尤其是注释部分.另请参阅标题为"CUA矩形支持" 的CUA模式文档部分.还有关于vimeo的精彩视频.
尽管C-SPC
从一开始就开始标记某些东西是常用的方法,但通常更快/更简单的方法不涉及明确地移动到开始/结束点......
M-h
- 标记段落的重要方法."段落"通常表示代码块.
C-M-h
和C-M-@
-用于标记sexps和defuns分别.这适用于多种语言,而不仅仅是lisps.
按住班次 - 在运动过程中另一种光滑的方式突出显示.例如,M-S-f
选择一个完整的单词.这是
shift-select-mode
,默认情况下在Emacs 24+中启用.在一些(非chiclet)键盘上,你应该能够C-S-
用一个小指按住.
您可以反复按任何一个来增加选择.
(注意:C-g
在实验过程中经常使用取消标记.)
有一些附加软件包可以改善选择区域和事物.这些都很好地结合在一起,适合不同的用例.全部使用它们!
展开区域:展开区域按语义单位增加所选区域.只需按住键,直到它选择你想要的. C-=
是推荐的绑定.点击几下即可得到你需要的东西.
轻松杀戮:使用M-w
和助记符选择不同类型的东西,如单词,性别,列表等.
Zop-to-Char:像 zap-to-char一样,但提供了很好的选择和其他菜单驱动的动作.
使用Control- Space设置标记并移动光标.
在transient-mark-mode
将突出为你选择.M- x transient-mark-mode
.
您可以使用自定义设置Emacs以默认启用此模式.M- x customize-option
RET transient-mark-mode
.