Возвышенный текст 2 «Goto Anything» (или мгновенный поиск) для Emacs?

Я попробовалВозвышенный текст 2 недавно, и я нашелGoto Anything очень полезно для навигации по исходному коду (Ctrl-P файл @ символ кажется, работает очень хорошо). Есть ли что-то похожее на Emacs? Желательно что-то, что просто работает, без тонны кастомных элисп.

Что я'Я пробовал до сих пор: я

виделШлем а такжеЧто-нибудь,но, насколько я понимаю, ни один из них не способен на актуальное "мгновенный" поиск (см. правку ниже) .I '

мы использовалиmulti-occur-in-matching-buffers, но это тоже кажется неспособным удовлетворитьмгновенный" критерий. /

imenuidomenu хорошо работает для отдельных файлов, но неработать с файлами.

В настоящее время я использую № 2 и № 3 вместе, как плохую замену Goto Anything.

Если бы не точный клон Goto Anything, то я мог бы обойтись с наивным решением мгновенного поиска (которое ищет данную строку во всех открытых буферах и отображает результаты динамически). Чтобы'тоже приемлемо.

Я использую Emacs 24.2, так что любой elisp только для v24 тоже подойдет.

РЕДАКТИРОВАТЬ: Я дал Хелму еще один шансevent_jr»предложениеи я обнаружил, что этоделает поддержка мгновенного поиска по всем открытым буферам. +helm-multi-occurhelm-follow-mode подходит на удивление близко к удовлетворению моих потребностей, единственными незначительными проблемами являются (рискуя казаться придирчивыми):

У меня нетне нашел способ включитьhelm-follow-mode автоматически когда я бегуhelm-multi-occur, Я должен вызвать его вручную сC-c C-f, Кто-нибудь хочет сделать снимок с помощью фрагмента elisp? (см. правку № 2 ниже)

это не "умный" как ST2 's Goto Anything (то есть, это неТ понять "символы» в исходном коде, как Goto Anything).

РЕДАКТИРОВАТЬ № 2: Сейчас я'Получил большую часть Goto Anything, благодаряevent_jr»ответ ниже (и, конечно, благодаря Хельмус создателем,Тьерри Вольпятто). Я рекомендую это от всей души всем, кто ищет подобную функцию. Ниже элисп ям в настоящее время использует:

;; instant recursive grep on a directory with helm
(defun instant-rgrep-using-helm ()
  "Recursive grep in a directory."
  (interactive)
  (let ((helm-after-initialize-hook #'helm-follow-mode))
    (helm-do-grep)))


;; instant search across all buffers with helm
(defun instant-search-using-helm ()
  "Multi-occur in all buffers backed by files."
  (interactive)
  (let ((helm-after-initialize-hook #'helm-follow-mode))
    (helm-multi-occur
     (delq nil
           (mapcar (lambda (b)
                     (when (buffer-file-name b) (buffer-name b)))
                   (buffer-list))))))

;; set keybindings
(global-set-key (kbd "C-M-s") 'instant-search-using-helm)
(global-set-key (kbd "C-M-S-s") 'helm-resume)
(global-set-key (kbd "C-M-g") 'instant-rgrep-using-helm)

Ответы на вопрос(5)

Ваш ответ на вопрос