emacs の検索機能を改善し、他のウィンドウ (複数のウィンドウが開いている場合) で検索できるようにしようとしています。現在使用している単語を検索し、マウス クリックで検索します。このユニットアットカーソルを使用して、次の関数を作成しました。
(defun seek-other-tab ()
(interactive)
(setq unit (elt (unit-at-cursor 'word) 0) // gets the word at which the cursor is
(other-window 1) // get to the next window
(search-forward unit nil nil))) // search...
と
(defun seek-buffer ()
(interactive)
(search-forward (elt (unit-at-cursor 'word) 0))
ただし、これは他のバッファーを手動で検索するよりも弱いです。ラップアラウンドしない b. 検索を覚えていないので、基本的には両方の機能を効果的に使用する必要があります。また、isearch-forward のように候補をマークしません。
マウスをサーチャーとして使用することについては (GVIM shift-mouse1 のように、単語を選択してそのすべてのインスタンスを検索する Alt-mouse のようなものを考えました)、マウス クリックを割り当てる方法さえ知りません :(
だから私の質問は次のとおりです:ラップアラウンド検索を行い、選択を強調表示するように機能を改善するにはどうすればよいですか\ isearchに検索を記憶させて、少なくともCsで検索を続けることができるようにしますか?マウスで触れた単語を選択し、インスタンスを検索する 3 番目の関数を作成するにはどうすればよいですか (できれば強調表示も)
更新:highlight_symbolモードは、マウスを検索デバイスとして使用するために私が望んでいたものです:
(global-set-key [(control shift mouse1)] 'highlight-symbol-at-point)
ただし、関数はマウスの位置ではなく、カーソルの下のみを検索します。別スレで質問します。私はまだ他のウィンドウでアイテムを(ラップ可能な)検索するためのまともな機能を作ることができません:(