多くのEmacsコマンドは、1つ以上のC-u接頭辞を付けて呼び出されると、その動作を変更します。場合によっては、コマンドのデフォルトの動作は、プレフィックスを付けたときに得られる動作よりも私にとってはあまり役に立ちませんC-u。同時に、デフォルトの動作を完全に排除したくありません。
具体的な例を示すと、quit-window
コマンド(にバインドさq
れているhelp-mode
)は現在のウィンドウを終了し、デフォルトでそのウィンドウに表示されているバッファーを埋め込みます。呼び出されC-uたとき、代わりにバッファを殺します。コマンドで、デフォルトでバッファを強制終了し、C-uプレフィックスで呼び出されたときにバッファを埋めたいと思います。
Q: デフォルトの動作をプレフィックスに移動しながら、コマンドが C-u デフォルトでプレフィックス 付きで呼び出されたかのように動作するようにEmacsに指示するにはどうすればよいですか?C-u
元のコマンドを再定義するか、自分の好みに応じてプレフィックス引数を渡すカスタムコマンドにラップすることで、この問題に対処できることを知っています。しかし、私はむしろこのようなことをしたいと思います:
(swap-args 'quit-window)
:filter-args
代わりにを使うともう少し簡単:around
になると思います。