mac 的GUI emacs 下面
- helm-do-grep-ag (helm-ag buffer 里面有很多候选的记录, 比如 file1.c:147 …, file2.c:237 … 等)
- 光标移动到任何一条记录, 输入tab, 就会在另外一个buffer 打开对应的文件, 并光标定位于对应的行号
这样用起来非常的高效。
但有些时候,我的emacs 必须运行在linux 的终端里面, 同样的操作, 步骤2 的结果就变成了 "helm-action buffer, 让我选择: [f1] Find file, [f2] Find file other frame …
感觉是在我 helm-do-grep-ag
之后 tab
行为不一样,但现在还找不出来原因。
Helm 默认的 Tab 就是用来切换 Action 列表的,C-j
用来执行 Persistent Action 的。使用 Emacs 标准的方法来查看(C-h k)和修改按键(define-key)。
cireu
3
在终端下TAB
和C-i
是一个键,如果绑定(kbd "TAB")
,那么C-i
和tab键会都被绑定上。
为了单独绑定GUI下的tab键,你需要用(kbd "<tab>")
。我猜测你的配置绑定了后者,因为Helm的默认绑定就想xuchunyang说的那样,默认是打开action list。
配置文件中加上这一行, 在终端下就可以了
(define-key helm-map (kbd "C-i") 'helm-execute-persistent-action)