1

皆さん、こんにちは。

私の信頼できる古い Carbon Emacs には、イライラする癖がつきました。Cs を使用すると、ミニバッファーは検索文字列を要求しますが、フォーカスされません。明らかに、文字列を入力しても何も起こりません。その時点でどのバッファにフォーカスがあるのか​​わかりません。

Cg を押すと、いつものように検索がキャンセルされます。Return キーを押すと、I-search プロンプトが Search プロンプトに変わり、ミニバッファーがフォーカスを取り戻します。更新--- Cw と入力すると、通常どおり現在の単語が検索文字列として設定され、後続の C で期待どおりに検索が進められます。

私の知る限り、私は.emacsファイルを何も変更しておらず、何もカスタマイズしていません。emacs のバージョンは同じで、OS も同じです。この動作は、emacs の再起動後も存続します。emacs -q でも解決しません。

更新-- 「フォーカス」という言葉は適切ではないことが判明しました。i-search では、フォーカスは検索中のバッファーにとどまりますが、ミニバッファーは検索語をエコーし​​ます。そうあるべきですが、そうではありません。したがって、次のスニペットは間違った方向を向いています。

ミニバッファーにフォーカスを戻すために、次のスニペットを試しました。

(defun minibuffer-refocus ()
 "Refocus the minibuffer if it is waiting for input."
 (interactive)
 (when (active-minibuffer-window)
   (message "")
   (select-window (minibuffer-window))))

(global-set-key (kbd "C-M-g") 'minibuffer-refocus)

しかし、役に立たない。それ以外の場合は魅力的に機能しますが、インクリメンタル検索では機能しません...更新-それは予想されていました。

何が起こっているのか、またはそれを追い詰めるヒントを持っている人はいますか? これは本当に迷惑です...

詳細

  • leopard.local の 2008-11-01 の GNU Emacs 22.3.1 (i386-apple-darwin9.5.0、Carbon バージョン 1.6.0)
  • OS X 10.6.7
  • Cs はコマンド isearch-forward を実行します

アップデート

良いニュースは、それが解決されたことです。悪いニュースは、方法がわからないことです:-(

アップデート

悪いニュースは、それが再び戻ってきたことです。また、ミニバッファーは実際にはフォーカスされないため、上記のスニペットが本当に役立つことにも気付きました。

4

4 に答える 4

1

Cs を実行すると、Me は検索されたパターンを編集する手段を提供しますが、Cs が期待どおりに機能するよりもはるかに効率が悪いことに注意してください...

私はまったく同じ問題に直面しています (2 つの異なる Lion マシンで)。

  • 私はいくつかの「入力方法」、つまりいくつかのキーボード マッピングを使用しています: フランス語と US 拡張です。現在のアプリケーションに依存するキーボード マッピングを許可する OS X オプションを選択しました (たとえば、Emacs には通常 US を使用し、メールにはフランス語を使用します)。

  • フランス語のマッピングは適切に機能します。

  • あなたが説明したように、US拡張マッピングは失敗します。

  • 同じ Emacs セッションで、その不変条件を保持する他のものに進みます: フランス語は機能し、US 拡張は壊れています。

良いニュースは次のとおりです: US not-extended は適切に動作するようです! たぶん (たぶん) Cs は、米国の OS X のプレフィックスで、マルチキー文字の拡張マッピングであり、マルチキー シーケンスの次の文字部分を期待して、OS X と Emacs の間で非常に悪い相互作用が開始されます。それはそれからそれらを盗みます。当てずっぽう。

于 2012-05-16T08:43:30.953 に答える
0

私はまったく同じ問題に遭遇し、まったく同じ問題に遭遇し、(誰かがすでに指摘したように) OS X 独自のキーボード/入力方法と関係があることを発見しました。私は通常の US キーボードを使用していましたが、Unicode キーボードに変更したときに問題が発生しました。通常の US キーボードに戻すと、i-search は期待どおりに機能しました。US拡張キーボードでも同じ異常な動作が発生しました。

于 2013-10-04T20:42:12.173 に答える
0

これは私のために働く解決策です。解決策を検索しても見つからなかったので投稿します。

(defun isearch (arg)
  (interactive "MI-search: ")
  (select-window (minibuffer-window))
  (isearch-forward))

(global-set-key "\C-s" 'isearch)

UbuntuでGNU Emacsを使用しています。

編集:しかし、それを使用すると、ミニバッファを検索できなくなります。この機能により、検索時にミニバッファーにフォーカスがありません。たとえば、関数名を検索するために Mx Cs のようなことを行うことができます。ミニバッファにフォーカスがある場合、それはできません。

于 2012-01-10T16:36:10.213 に答える
0

良いニュースは、期待どおりに機能することです。悪いニュースは、何がそれを修正したのかわからないということです。

@ vpit3833 は、再帰的な編集の提案で正しい方向を指していたと思います。AltキーとEscキーに関する別の質問に答えていましたが、同様のコンボを実行するなど、いくつかのことを試した後ESC-x、インクリメンタル検索が再び機能し始めました。

申し訳ありませんが、本当の答えはありませんが、少なくともこのトピックを閉じることができます.

于 2011-04-15T14:36:07.840 に答える