私はEmacsで私が知っているコマンドを積み重ね、多くの自動化を行います。手動。これは多くの努力を必要としないので、私が推奨する方法です。いつものようにEmacsを使っていると、時々思いが浮かびます。 「ええ、私はいつもこのコマンドを使っていますが、なぜそうですか?」 「ただマージしますか?」 「コマンド(名前またはショートカット)を知ると、すべてが簡単になります。
しかし、問題の1つは、コマンドをスタックすると、「エコー領域」(ミニバッファと同じ位置)で点滅する多くのメッセージが表示されることです。これらのメッセージには意味がありません。以下で発生するすべてのもの(呼び出される関数)がユーザーに透過的である必要があるためです。
まあ、あなたはできます静かなそれ、それからミュート解除それ?以下を見てください:
(defun invisible-pretty-mail ()
"Automatize `pretty-mail'."
(interactive)
; (mute-echo-area)
(rmail-edit-current-message)
(pretty-mail) ; lots of replace-string, replace-regexp, etc. here
; that will flood messages
(rmail-cease-edit)
; (unmute-echo-area)
)
編集するSDS 'への対応回答:
あなたが言及したコメントはEmacsヘルプシステムで非常に一般的であることを理解しています。
あなたの提案は一般的に間違っているわけではありませんが、この特定のケースをさらに詳しく調べてみましょう。 1)にElisp機能があります.emacs
。 2)このコマンドが使用するコマンドは、機能を設定する人に非常になじみやすいので、読みやすくメンテナンスが非常に簡単です。 3) 機能が期待どおりに正しく動作します。 4)一つ欠点は、あまりにも多くのメッセージをエコーすることです。
今この場合本当に提案してもらえますか?完全に書き直されましたこの機能(および他の多くの機能)は、まったく異なるコマンド(存在しても存在しない場合もあるコマンド)を使用して、私たちが知らないメッセージを減らすための可能な方法で何をしますか?
編集する:(動作)はい、助けを受けた後ドリュー。
(defun test-suppress-msgs ()
(interactive)
(let ((log-size message-log-max))
(setq message-log-max nil)
(message "This message is suppressed.")
(setq message-log-max log-size)
(message "This is echoed, and logged.") ))
ベストアンサー1
バインディングは(動的)バインディング中にメッセージを抑制しますmessage-log-max
。nil
echo-keystrokes
キー入力エコーを抑制するためにバインドします0
。
Emacs 25.1以降、変数をinhibit-message
non-にバインド(または設定)することもできますnil
。これはほとんどのエコーゾーンメッセージを防ぎます(ただし、バッファに書き込まれるのを防ぎません*Messages*
)。