Я пытаюсь улучшить функции поиска в моем 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. он не запоминает поиск, поэтому в основном мне нужно использовать обе функции для эффективного поиска. он также не отмечает кандидатов, как это делает поиск вперед.
Что касается использования мыши в качестве средства поиска (я подумал о чем-то вроде Alt-mouse для выбора слова и поиска всех его экземпляров - например, Shift-mouse1 в GVIM), я даже не знаю, как назначить щелчок мышью :(
Итак, мои вопросы: как я могу улучшить свои функции, чтобы иметь обходной поиск и выделить выделение \ заставить isearch запомнить поиск, чтобы, по крайней мере, я мог продолжить поиск с помощью C-s? Как я могу сделать третью функцию, которая выбирает слово, затронутое мышью, и ищет экземпляры (желательно, также выделяя)
обновление: режим highlight_symbol - это почти то, что я хотел для использования мыши в качестве поискового устройства:
(global-set-key [(control shift mouse1)] 'highlight-symbol-at-point)
однако функция по-прежнему смотрит только под курсором, а не под позицией мыши. спросит в другом потоке. я до сих пор не могу сделать достойную функцию для (оборачиваемого) поиска элементов в другом окне :(