当前位置:  开发笔记 > 编程语言 > 正文

Emacs中有(repeat-last-command)吗?

如何解决《Emacs中有(repeat-last-command)吗?》经验,为你挑选了7个好方法。

通常情况下,我已经挖掘了apropos和docs寻找类似以下内容的东西,只是为了放弃回到手头的任务:

(重复-最后命令)

执行我刚刚执行的最后一个C或M命令(要反弹到fn键)

或有时相关:

(形容 - 最后功能)

我错误地发出了什么击键,其效果我想加入我的技巧.describe-key很接近,但需要知道我键入的内容.

我只是从我可信赖的伙伴那里问过多吗?



1> Emerick Rogu..:

重复功能由repeat.elEmacs Lisp软件包提供,该软件包包含在标准Emacs发行版中.来自repeat.el的文件:

这个包定义了一个重复前面命令的命令,无论它是什么,包括它的参数,无论它们是什么.该命令连接到密钥Cx z.要重复上一个命令一次,请键入Cx z.紧接着再次重复它,输入z.通过反复键入z,您可以反复重复该命令.

要查看有关repeat命令的其他信息,请C-h F repeat RET在Emacs中键入.



2> Johannes Sch..:

重复上一个命令

C-xz

一旦你按下它,只需按下它 z 之后它就会重复(不必C-x再次按下).



3> ashawley..:

您可以使用重复命令C-x z,然后点击z以继续重复.

有点令人震惊的没人提到repeat-complex-command,可从密钥绑定中获得C-x ESC ESC.


是的,***确实令人震惊***.接受的答案是**不是**这里最好的答案,IMO(但OP显然认为它最符合她的问题).对我来说,这个答案最接近书面问题所要求的(重复最后一个命令).而且`repeat.el`(包含`Cx zz z ...`)提供的可能性是第二近的.问第二个问题,关于最后击中哪些击键,最好的答案是`Ch l`(`view-lossage`).恕我直言,对于`describe-last-command`命令几乎没有用处.
同样在`Cx M-:`(助记符:像`M-:`但是已经为你填写了elisp表达式).
类似于Mx Mp,但repeat-complex-command重复先前的参数.

4> cms..:

关于' 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命令历史记录获得它



5> quodlibetor..:

此外,还会M-x view-lossage显示您输入的最后一百(?)次击键.所以,你将能够看到命令的位置.这是我用过的,直到我刚刚发现M-x command-history我认为我C-h w现在将使用它.



6> echox..:

我不太确定,但也许你正在寻找这个?

command C-xz(repeat)提供了多次重复Emacs命令的另一种方法.此命令重复以前的Emacs命令,无论是什么.重复命令使用之前使用的相同参数; 它不会每次都读取新的参数.

Emacs手册,8.11重复命令


正如约翰内斯·绍布(Johannes Schaub)所指出的那样,随后只按"z"就会继续重复.

7> Murali VP..:

也许这会有所帮助......来自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.

推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有