151

多くの場合、私は apropos と docs を掘り下げて、次のようなものを探して、目の前のタスクに戻るためにあきらめました。

(最後のコマンドを繰り返します)

直前に実行した C または M コマンドを実行します (fn キーに再バインドするため)。

または時々関連する:

(describe-last-function)

どのキーストロークを誤って発行したのか、その効果をトリックのバッグに追加したいと思います。describe-key は近いですが、入力した内容を知る必要があります。

信頼できる相棒に頼りすぎているだけですか?

4

10 に答える 10

173

繰り返し機能はrepeat.el、標準の Emacs ディストリビューションに含まれている Emacs Lisp パッケージによって提供されます。repeat.elのドキュメントから:

このパッケージは、前のコマンドを繰り返すコマンドを定義します。このコマンドは、キー Cx z に接続されています。前のコマンドを 1 回繰り返すには、Cx z と入力します。直後にもう一度繰り返すには、単に z と入力します。z を何度も入力すると、コマンドを何度も繰り返すことができます。

繰り返しコマンドに関する追加情報を表示するには、C-h F repeat RETEmacs 内から入力します。

于 2008-11-09T12:12:15.393 に答える
169

最後のコマンドを繰り返す

C-xz

一度押したら、あとは押すだけ z で繰り返します(C-xもう一度押す必要はありません)。

于 2008-11-09T13:18:54.773 に答える
86

はい、繰り返しコマンドがあります。それは呼ばれrepeatます:

  • でコマンドを繰り返しC-x z、 を押すとz繰り返し続けることができます。

repeat-complex-commandキーバインディングから入手できる、誰も言及していない少し衝撃的なものC-x ESC ESC

于 2009-03-09T01:27:02.017 に答える
64

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 command-historyで取得できます

于 2008-11-09T12:35:59.340 に答える
24

また、M-x view-lossage入力した最後の 100 回 (?) のキーストロークを表示します。したがって、コマンドがどこにあるかを確認できます。それは、私が今使っているM-x command-historyと思うものがわかるまで、私が使っていたものC-h wです.

于 2008-11-09T22:16:05.253 に答える
18

よくわかりませんが、これを探しているのではないでしょうか?

コマンドC-xz( repeat) は、Emacs コマンドを何度も繰り返す別の方法を提供します。このコマンドは、以前の Emacs コマンドが何であれ、それを繰り返します。コマンドを繰り返すと、以前に使用されたものと同じ引数が使用されます。毎回新しい引数を読み取るわけではありません。

Emacs マニュアル、8.11 コマンドの繰り返し

于 2008-11-09T12:13:21.897 に答える
9

これも役立つかもしれません...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 <again>, <redo>, 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.
于 2009-11-14T00:53:34.587 に答える
4

個人的には、セバスチャンのアイデアは役に立ちました。ここに作業バージョンがあります

(global-set-key "\C-r" #'(lambda () (interactive)
                                 (eval (car command-history))))
于 2011-11-12T16:45:01.297 に答える