Как выделить все вхождения слова в буфер Emacs?
Notepad++ имеет удобную функцию: если вы выбираете слово в своем тексте (не обязательно ключевое слово), слово выделяется по всему тексту. Можно ли это сделать и в Emacs? И если да, то как?
Он не обязательно должен работать точно так же, как Notepad++ (т. е. через выделение); в идеале, я хотел бы настроить привязку ключа, которая вызывает выделение всех вхождений слова под курсором.
было бы здорово, если бы моменты были постоянные, т. е., перемещение точки от выделенного слова должно не причиной выделения должны быть удалены.
кроме того, было бы полезно, если бы было решение, которое позволило перемещаться между основными моментами (используя пользовательские привязки клавиш).
11 ответов:
может быть, выделите символ.el at http://nschum.de/src/emacs/highlight-symbol/ это то, что вы ищете:
The
hi-lockпредложения хорошие. Я думаю, что это проще использовать M-x версий, хотя:M-x
highlight-regexpRET<REGEXP>M-x
highlight-phraseRET<REGEXP>
highlight-phrase- это просто немного сахара вокругhighlight-regexpэто игнорирует регистр и переводит пробел в регулярном выражении, чтобы соответствовать произвольным пробелам. Удобный.
тип
C-s, затем введите текущее слово или типаC-w. В качестве бонуса, теперь вы можете нажатьC-sснова искать слова.Это называется последовательный поиск.
то, что я использую простое-выделить
http://www.emacswiki.org/emacs/IdleHighlight
M-x idle-highlight устанавливает таймер простоя, который выделяет все события в буфере слова под точкой.
включить для всех режимов программирования, в
~/.emacs.d/init.el:;; highlight words (add-hook 'prog-mode-hook (lambda () (idle-highlight-mode t)))
свет-символ выделит любую точку символа закончена.
можно использовать происходит, в котором перечислены все строки, соответствующие регулярному выражению. Полезно быстро просмотреть все функции в классе.
попробуйте http://www.emacswiki.org/emacs/msearch.el Все вхождения выделенного курсором текста подсвечиваются. Вы должны перетащить строку, которую вы хотите выделить. Это позволяет легко изменить выбор без изменения подсветки.
Если вы хотите сохранить выделение строки, вы можете заморозить его.
вы можете поработить буфер в другой буфер. Текст, выделенный в главном буфере, также будет выделен подчиненный буфер. Это полезно для сравнения буферов. Это также полезно для заметок в одном буфере, в то время как вы исследуете текст в другом. Вы можете иметь коллекцию ключевых слов в буфере ноты. Перетащите такое ключевое слово, и его появление в исследуемом тексте будет выделено.
Я использую этот материал в течение многих лет теперь. Я добавил замораживание совсем недавно. Так что, может быть, что-то сломано. Если это так, оставьте мне записку http://www.emacswiki.org/emacs/msearch или здесь.
Это может быть не так хорошо, как вы надеялись, но если вы ставите
(global-hi-lock-mode 1)в своем
.emacsфайл, то вы можете ввестиC-x w h REGEX <RET> <RET>выделить все вхожденияREGEXиC-x w r REGEX <RET>чтобы снова разжечь их. Опять же, не так элегантно, как вам, вероятно, хотелось бы, но это сработает.
Регистрация Интерактивное Выделение
должно быть:
C -x wh слово
команды в библиотеке
highlight.elпусть вы (un)выделите текст, соответствующий регулярному выражению (в данном случае символ), используя наложения или свойства текста. Вы можете переключаться между явлениями. Подсветка может быть временным или постоянным. (подробнее).
попробовать iedit. Он выделяет слово в точке и позволяет легко редактировать все его вхождения. С дополнительным нажатием клавиши (C -'), он скрывает все строки без этого слова в нем. Очень удобно!
Это, возможно, не будет выделять, но будет искать слово без необходимости вводить его...
когда вы достигли слова, которое вы хотели найти, C-S, а затем прочитать полное слово с C-W, то вы можете C-S, и он будет искать его. В моем Emacs он также выделяет все экземпляры в документе.

Comments