Emacs Helm:在Helm缓冲区中我可以执行哪些操作?

5

我有两个问题:

  • 在像helm minihelm ag这样的helm缓冲区中,通常会有太多的候选项。在evil模式下,我可以使用C-dC-u向下或向上滚动。那在helm缓冲区中我能做到这些吗?

  • 有时输入文件路径/名称时,缓冲区中只有默认值而不是我输入的值。每当我按下enter键时,将访问默认路径/文件。在输入栏(您输入字符的位置)中我可以做什么操作?

您能提供描述这些按键映射的文档吗?我找不到它们,因为我不知道我的问题是什么:(

2个回答

5
如果您使用的是spacemacs,请尝试 M-x describe-keymap helm-map,它绑定在 SPC h d K 上。
遗憾的是emacs本身没有这样好用的describe-keymap功能。在这种情况下,您可以选择以下任一方法:
  • 从spacemacs复制describe-keymap
  • 使用describe-bindings(不太流畅,且会错过一些键位映射)
  • C-h v helm-map以变量形式浏览按键映射(由于键位以类似Unicode代码点的形式显示,因此很难阅读,但如果您自己配置所有键绑定而不使用框架默认设置,则对于“我的绑定是什么?”和调试来说这是个好办法)

哇,再次感谢你啊,哈哈。但是你能告诉我如何找出哪些绑定是针对迷你缓冲区的吗? - spacegoing
1
@spacegoing 我也是新手,但幸运的是:C-h v minibuffer-local-map(通过helm找到了这个变量)显示了一些绑定(可能是由spacemacs添加的),而``minibuffer-local-map是在keymap.c'中定义的变量。因此,通常的emacs快捷键应该适用于这里,因为它是由emacs定义的。Minibuffer本身有一些特殊的键,[doc](https://www.gnu.org/software/emacs/manual/html_node/emacs/Minibuffer-Edit.html#Minibuffer-Edit)。我尝试了(define-key minibuffer-local-map (kbd "C-w") #'backward-kill-word)`,它可以工作,所以你可以像这样重新映射迷你缓冲区中的键。 - JJPandari

3

您可以使用describe-bindingshelm-descbinds查找当前活动的绑定。后者允许您通过helm进行交互式搜索。


1
谢谢您的回复!然而,当我尝试执行该命令时,它显示“错误:正在尝试在helm会话内运行helm”。我做错了吗? - spacegoing
1
这可能是因为 spacemacs 默认运行 helm,并包含绑定到 SPC 的 helm-descbinds?尝试在主缓冲区中单击 esc 和 SPC? - Christopher J Poor

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接