カーソルの隣にエコーエリアを作成することは可能ですか?


12

問題:カーソルがある場所から一番下のエコー領域まで眼球を上下に動かすのはうんざりだとわかりました。

質問:エコーエリアをツールチップのようにカーソルの近くに動的に割り当てることは可能ですか?パッケージを検索しましたが、見つかりませんでした。私はそれが新しいアイデアだとは思わないし、誰かがやったに違いない。


複数の画面いっぱいのテキストをエコーするとどうなりますか?
wvxvw 14

@wvxvw、フォールバックメカニズムがある可能性があります。特定の場合にこれを正確に実装しました。すでに一般的な解決策があるかどうか興味があります。
abo-abo 14

2
専用フレームを使用すれば可能です。これはoneononeという名前のパッケージからのものです。コメントセクションには、と書かれてい1on1-minibuffer-frame-flag is non-nil (the default value), then the minibuffer is shown in its own frameます。
火ドゥ

1
この質問と密接に関連しています。それはミニバッファ入力に関するものですが、肯定的な答えがあるので、それを適応させることができます。
マラバルバ

回答:


3

エコーエリアは明示的にミニバッファウィンドウを使用するため、それが答えを変更しない限り、「いいえ、それは不可能です」(または、少なくともあまり実用的ではありません)。

/programming/10063410/is-it-possible-to-separate-minibuffer-and-echo-area-in-emacsを参照してください


しかしmessage、エコー領域ではなくオーバーレイで表示するようにインターセプトした場合はどうなりますか?
abo-abo

もちろん、これだけが必要な場合はmessage。ただし、エコーエリアに出力する他の多くの関数があります。些細な問題だとは思わない。リンクされたQ&Aに従って、マニュアルをご覧になり、範囲について理解してください。
phils

1
特に、message下にメッセージングを実装するC関数の1つをバイパスして直接呼び出す多くのC関数があることに注意してください。
PHILS

悲しい。メッセージバッファをリダイレクトするために、オーバーレイといくつかのコードを使用することを考えていました。
wangii

ミニバッファウィンドウのみを含む小さなフレームを作成できます。唯一の問題は、エコーエリアに何かが表示されているときにポップアップすることです。
マラバルバ

5

@TuDoのコメントが示しているように(そして、彼が好きなら答えに変更できます。その場合、この答えは削除します)、少なくともスタンドアロンのミニバッファーフレームを使用でき、好きな場所に配置できます。

デフォルト設定に対する利点の1つは、出力メッセージ(エコー領域)と入力編集(ミニバッファー)を常に1か所しか見ることができないことです。

その位置を動的に変更することもできます-たとえば、現在の入力フォーカスがある場所に近くなるように。

One On One Emacsが役立ちます。箱から出して、ミニバッファフレームを配置する場所を決定できますが、動的に再配置するには、少し余分な作業が必要になります。

(EmacsWikiは現在ダウンしていますがoneonone.el、MELPAからダウンロードすることもできます。)


おそらくあなたはwiki上のこのページを意味しますか?よくわかりませんが、リンクが機能しません。
ウィルフレッドヒューズ

@WilfredHughes:ありがとう、リンクを修正しました。
ドリュー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.