このpostによれば、私は自分の.emacsファイルでeval-and-replaceを定義しています。emacs kbdマクロ - レコードキーが正しくありません
しかし、マクロを使って以下のセックスのリストを評価して置き換えようとしたとき、それは私のマックで台無しになるでしょう。私のLinuxマシンでは、または単一のsexpでeval-and-replaceするだけで動作します。
(+ 1 2)
(+ 1 2)
(+ 1 2)
(+ 1 2)
(+ 1 2)
だから私は定義されたマクロは次の通りである、各S式の先頭から:C-e C-c e <down> C-a
。
しかし、私がマクロステッパーを実行したとき、実際のマクロはC-e C-e C-c C-c ee <down> C-a
です。どうやってコマンドを2回記録するのだろうと思っています。
そして、私はまた、ウィキpost-command-hook
によると、マクロステッパーError in post-command-hook (kmacro-step-edit-post-command): (void variable kmacro-step-edit-active
からエラーを得たが、前のコマンドに関連しています。しかし、私はこれを解決する方法についての手掛かりはありません。
各マシンでどのバージョンのEmacsを実行していますか? – phils
マクロを記録した後に 'C-h l'を使って、Emacsがレコーディング時に見たキーストロークを確認します。これは、単にMac上のキーボードのハードウェアの問題である可能性があります。 'C-x C-k e RET'は最新のキーボードマクロ用のマクロエディタも起動します。 – phils
@philsこんにちは、 'C-h l 'と入力すると、記録されたキーストロークは' C-h C-h l l'です。しかし、これがハードウェアの問題であれば、私はマクロを使用しないと、なぜすべてがうまくいくのですか?例えば 'l'と打てば' l'が1つしか出ません。 – Ling