Я годами пользуюсь малоизвестным редактором под названием «FTE» (или eFTE); у него есть хорошая утилита, которая может отображать список подпрограмм / функций / классов (или любую другую вещь - в зависимости от того, какое регулярное выражение вы определяете в его файле конфигурации) в исходном текстовом файле (C, C ++, Fortran, ... что там у вас). Эта функция позволяет мне быстро переходить из одной точки в другую в исходном файле. Возможно, оригинальный ярлык в FTE ^I
(Control + I). Emacs имеет подобную функциональность? Emacs гораздо более продвинутый, чем FTE, и я был бы удивлен, если бы никто не разработал такой объект.
Спасибо, Wirawan
emacs
text-editors
source-code
Wirawan Purwanto
источник
источник
ctags
интеграцию.Ответы:
Try
M-x occur RET exp RET
- это перечисляет в новом буфере все вхожденияexp
в текущем буфере.источник
re-builder
, которая позволяет создавать регулярные выражения в интерактивном режиме, постепенно, выделяя все совпадения в буфере, из которого она была называется. Наслаждайтесь :-)Большинство людей, конечно, скажут вам просто использовать современную IDE, но они не понимают всю силу
emacs
. Лично я использую ECB, которыйemacs
выглядит так:Среднее окно с левой стороны - это список функций текущего исходного файла. Средний щелчок по имени перемещает курсор к определению этой функции.
Для установки следуйте инструкциям на веб-сайте ECB, чтобы установить ECB, а затем добавьте эту строку в свой
~/.emacs
(изменив местоположение соответствующим образом):Другим вариантом является CEDET, но я не использовал его.
источник
В Emacs есть несколько способов получить эту функциональность.
Более легкий метод - с помощью тегов , которые с подходящей настройкой могут служить большинству целей. После того, как вы создали файл тегов (который выполняется в оболочке, например, через
cd /path/to/project; ctags -e -R .
) и выбрали его черезM-x visit-tags-table RET /path/to/TAGS RET
, вы можете, например, использоватьM-.
вызов функции, чтобы перейти к определению функции,M-x tags-search
пролистать путь по описанным файлам. в таблице тегов и т. д. Смотрите на связанной странице довольно подробное описание доступных инструментов.Более тяжелый метод - это Semantic , комбинация лексера / парсера, полностью реализованная в Emacs Lisp. Хотя я не так хорошо знаком с Semantic, как с тегами, у меня сложилось впечатление, что Semantic несет более тяжелую начальную нагрузку при установке в обмен на более общий полезный результат. В дополнение к связанной странице справочника (статья в Emacs Wiki) [ http://www.emacswiki.org/emacs/SemanticBovinator] может оказать здесь дополнительную помощь.
источник
Вы сказали «отобразить список подпрограмм / функций / классов (или любую другую вещь - в зависимости от того, какое регулярное выражение вы определяете в его файле конфигурации) в исходном текстовом файле». Не обращая внимания на роль в паранах на данный момент, на которую ответили другие, неясно, что вы подразумеваете под функцией и т. Д. Находясь « в » исходном файле.
Если вы спрашиваете о просмотре списка функций и т. Д., Которые определены в данном исходном файле, а затем о навигации по их определениям, посмотрите
Imenu
в Emacs. Смотрите руководство по Emacs, узелImenu
. Смотрите также эту EmacsWiki страницу о Imenu :источник
Используйте Imenu :
M-X imenu
tab
,All.Methods
tab
увидеть все методыисточник