ace-jump-mode高效移动光标
ace-jump-mode 应该是目前为止 emacs 屏幕可见区域键盘操作移动光标(cursor)最快的方式, 没有之一 :)
刚用 emacs 的时候大都会接触 C-f/C-b/C-n/C-p 等标准的光标移动法, 实际上那些都是很低效的. 很多人可能习惯了 C-s isearch-foreard 这样的, 也还可以, 但是通常都比较低效.
"ace jump的功能,是快速的定位光标到可以见的单词或者字母上", 这个是作者 winterTTr 同学在水木社区发布 ace-jump-mode 2.0 测试版时的原话. 更准确的说 ace-jump-mode 提供的定位能力不局限于单词字母, 也可以到其他字符.
ace-jump-mode 有几种操作模式:
- ace-jump-word-mode 按照英文语法的单词首字母(特殊字符实际也可以算单词)进行定位
- ace-jump-char-mode 个人比较常用, 输入一个字符, 屏幕上显示出现该字符的位置, 并自动给每个位置分配一个按键, 按对应的键以后跳转到对应位置.
- ace-jump-line-mode 快速定位到行. 实际上个人想象的一种扩展方式是定位到行以后, 自动按照列再定位一次, 这样就更通用而同样高效, 几乎可以定位到屏幕任意位置: 也解决非键盘直接输入字符, 包括中文的定位问题了.
有多个相关 mode 基于此拓展了:
- ace-isearch 简单的理解, 默认安装配置好以后, C-s 搜1个字符调用 ace-jump, 2到5个单词用 isearch, 6个以及以上用 helm-swoop-from-isearch , 有些小毛病就是折叠的代码可能会被意外的展开
- ace-jump-buffer 在当前打开的 buffer 之间以类似 ace-jump 的模式快速切换
- ace-jump-zap zap-to-char 来删除到某个字符比较考眼力, 不是很近的容易出错, 有 ace-jump-zap 来选择就方便多了
- ace-link 使用范围相对比较小众, 在有链接的一些 mode 比如 org-mode, info-mode eww 等中以 ace-jump 模式切换
- ace-window 则是在 emacs 的窗口(frame/window) 之间切换, 因为只有俩窗口的时候直接跟系统的 C-x o other-window 一样, 所以可以考虑直接把该键定义为 ace-window
没有评论:
发表评论