通常情况下,我已经挖掘了apropos和docs寻找类似以下内容的东西,只是为了放弃回到手头的任务:
(重复-最后命令)
执行我刚刚执行的最后一个C或M命令(要反弹到fn键)
或有时相关:
(形容 - 最后功能)
我错误地发出了什么击键,其效果我想加入我的技巧.describe-key很接近,但需要知道我键入的内容.
我只是从我可信赖的伙伴那里问过多吗?
重复功能由repeat.el
Emacs Lisp软件包提供,该软件包包含在标准Emacs发行版中.来自repeat.el
的文件:
这个包定义了一个重复前面命令的命令,无论它是什么,包括它的参数,无论它们是什么.该命令连接到密钥Cx z.要重复上一个命令一次,请键入Cx z.紧接着再次重复它,输入z.通过反复键入z,您可以反复重复该命令.
要查看有关repeat命令的其他信息,请C-h F repeat RET在Emacs中键入.
C-xz
一旦你按下它,只需按下它 z 之后它就会重复(不必C-x再次按下).
您可以使用重复命令C-x z,然后点击z以继续重复.
有点令人震惊的没人提到repeat-complex-command
,可从密钥绑定中获得C-x ESC ESC.
关于' describe-last-function ':
有一个变量last-command
被设置为代表你做的最后一件事的符号.所以这个elisp片段 - (describe-function last-command)
应该提出立即发生的事情的文档.
所以你可以describe-last-function
像这样轻松地工作
(defun describe-last-function() (interactive) (describe-function last-command))
将elisp放入.emacs
或等效,你将拥有一个Mx describe-last-function.
如果您已经敲了几个键或者做了一些修改了last-command的东西,因为你感兴趣的东西,这个command-history
函数可能会引起人们的兴趣.你可以通过Mx命令历史记录获得它
此外,还会M-x view-lossage
显示您输入的最后一百(?)次击键.所以,你将能够看到命令的位置.这是我用过的,直到我刚刚发现M-x command-history
我认为我C-h w
现在将使用它.
我不太确定,但也许你正在寻找这个?
command C-xz(
repeat
)提供了多次重复Emacs命令的另一种方法.此命令重复以前的Emacs命令,无论是什么.重复命令使用之前使用的相同参数; 它不会每次都读取新的参数.
Emacs手册,8.11重复命令
也许这会有所帮助......来自emacs帮助逐字:
C-x M-ESC runs the command repeat-complex-command which is an interactive compiled Lisp function in `simple.el'. It is bound to, , C-x M-:, C-x M-ESC. (repeat-complex-command ARG) Edit and re-evaluate last complex command, or ARGth from last. A complex command is one which used the minibuffer. The command is placed in the minibuffer as a Lisp form for editing. The result is executed, repeating the command as changed. If the command has been changed or is not the most recent previous command it is added to the front of the command history. You can use the minibuffer history commands M-n and M-p to get different commands to edit and resubmit.