自己寻找答案 使用 Emacs 联机帮助
23 November 2007
向大家介绍一个简单技巧。掌握以后,很多 Emacs 问题自己就能搞定, 不用再求人了。这 个技巧就是: 利用 Emacs 联机帮助系统的下面几个命令以及 Emacs 的命令自动补齐功能进 行大胆的猜测就行了。
C-h f C-h i C-h v C-h k
这个虽然很简单,但非常实用!
例一
今天有个朋友知道 Emacs 中怎么设 GDB 断点,但不知道怎么去断点。我也不知道,但是 很轻易地就查到了。我是怎么查的呢?
- 首先,肯定应该有一个函数对应于去断点的命令,所以应该能用
C-h f
来查看这个函数。 - 其次,因为 Emacs 和 GDB 的接口(mode)名称是 GUD,所以按照 Emacs 命名传统这个 命令很有可能以 gud 打头。
因此,
- 先输入
C-h f gud
- 然后按 <tab> 键,出来一个很长的补齐列表。
- 太长了,我懒得在其中一个个地查找;尝试缩小范围。表示删除的英文单词有 remove, delete, erase,先试试 remove。于是输入 re 再按 <tab>。
- 这时补齐列表候选项就只剩四个了:
gud-read-address
gud-refresh
gud-remove
gud-reset
。一眼锁定gud-remove
,估计就是它了。选中它并回 车,查看gud-remove
的帮助。果然就是它。
例二
再举个栗子:一段代码的格式乱了,想要一键自动对齐。我能想到的相关单词有:align、
indent和format。于是先 M-x align
然后 <tab>,没发现可疑的命令。再试 M-x
indent
+ <tab>,发现 indent-region
极有可能是想要的。选中它并执行,Emacs 果
然把代码对齐了,而且还告知我们对应的快捷键
You can run the command `indent-region' with C-M-\
另外一种办法:利用菜单栏 (CLI 下也可以)
设置、删除断点这样常用的功能很可能在 GUD 菜单栏里有;而一般只要菜单里有的都会标 明相应的快捷键。所以另外一种办法就是直接到菜单栏里找。
这一招对命令行模式启动(emacs -nw
)的 Emacs 同样有效。因为在命令行下也可以用快
捷键调用菜单(menu)的: M-`
(其中 `
是<ESC>下面的那个键)。然后根据提示一
步步输入字母选择菜单即可。
blog comments powered by Disqus