3

我是 Emacs 的新手。如果可以掌握它的一组命令,我发现它功能强大且非常方便。我也相信任何人只要有耐心,以及学习和使用该软件的渴望,都可以做到这一点。然而,对于初学者和季节性用户来说,拥有一些执行以下操作的命令助手插件会更好:


当用户开始键入任何 CONTROL 或 META、COMMAND 或任何特殊键时,“类似 ajax”或“智能搜索”窗口会出现在 minibuffer 下方或显示帮助文本中,例如:如果我按住“CONTROL”,命令助手窗口显示:

C-p         Up one line
C-n         Down one line
C-f         Forward one character
C-b         Backward one character
C-a         Beginning of line       
C-e         End of line
C-x         ...

然后,如果我在按住“CONTROL”的同时继续键入“x”,窗口将更新并显示如下内容:

C-x C-a  add-mode-abbrev
C-x C-b  list-buffers
C-x C-c  save-buffers-kill-emacs
C-x C-d  list-directory
C-x C-e  eval-last-sexp
C-x C-f  find-file
C-x C-h  inverse-add-mode-abbrev
C-x TAB  indent-rigidly
C-x C-l  downcase-region
C-x C-n  set-goal-column
C-x C-o  delete-blank-lines

我试过用谷歌搜索它,但它似乎还不存在。所以我想这更多是对 EMACS 的功能要求,而不是一个问题。但是如果有人可以编写一个插件/模块来做到这一点,那就太好了。

4

4 回答 4

2

我不相信这是存在的,但我也相信它并不是真正需要的。不过,它只会使屏幕混乱,也许对于菜鸟来说它确实很有用。

现在,您可以考虑打印一份备忘单。

不要失去希望,我在没有任何帮助的情况下学会了它,关键确实是经常使用它。

此外,这一切背后都有相当好的逻辑,所以如果你在备忘单或其他任何地方阅读结构,那么它可能会帮助你“猜测”什么是正确的组合键。

编辑:实际上我自己也问了一个类似的问题,至少需要相同的功能。我接受了一个显然提到Icicles提供此功能的答案。

另外,一个建议是,在您键入前缀键之后,例如C-c,之后键入C-h会显示可能的补全。

这使我得出以下结论:

我相信我们可以使用如下代码:“如果最后一个键是前缀键,则运行C-h*,切换回上一个缓冲区并重新命中最后一个前缀键”

*这是一种通用方法,即使对于我自己设计不佳的次要模式也有效

于 2013-01-25T12:56:55.480 回答
0

我也不知道现有的软件包可以做到这一点,但这里有一些提示。

要获得所有可用绑定的概览,请按C-h b。显示的缓冲区看起来相当原始,因为它包括用于输入特殊字符的所有方法(它们通常位于顶部),但是C-s如果您至少记得命令名称的一部分,则可以使用它进行搜索。

如果您知道前缀(例如C-x)但不记得接下来会发生什么,您可以在它后面加上C-h(类型C-x C-h)。这将打开一个类似的缓冲区,该缓冲区仅包含以相同前缀开头的绑定。我认为这是比较模糊的功能之一。

但是,说到“如果我按住 Ctrl”,当您按下时会显示提示,Ctrl如果目前无法在 Lisp 级别实现,则不会显示其他任何内容。这将需要一些较低级别的更改。

于 2013-01-25T15:11:26.330 回答
0

在 emacs 中有太多的键绑定,这实际上是有用的。

我同意其他回复,只是想补充一点,我发现内置教程对于了解基础知识非常有用。您可以使用C-h t.

您最终可能会更改几个默认绑定,但学习它们将帮助您找到新模式的方法(假设它们以“emacsy”方式工作)。

于 2013-01-25T15:39:53.357 回答
0

我回到这个是因为我找到了一个完美的解决方案,没有它就活不下去:The emacs-helmandwhich-key

于 2016-03-23T09:56:21.293 回答