В Emacs, как мне найти каталог и все подкаталоги по имени файла?
В Emacs, как мне найти каталог и все подкаталоги по имени файла?
6 ответов
Ты можешь использовать M-x find-name-dired, Он попросит каталог и шаблон подстановки, чтобы вы могли ввести что-то вроде *thing* и все файлы с "вещью" в имени перечислены в буфере с задержкой.
Подробнее здесь: http://emacswiki.org/emacs/RecursiveGrep (вместе с фрагментом, который позволяет также пропустить выписывание звезд).
В dired вы можете перечислить все подкаталоги посещенного каталога, перейдя на первую строку и нажав C-u l и добавление R переключатель Затем вы можете искать имя файла в буфере или помечать файлы на основе регулярного выражения с помощью % m,
В Linux, Windows с утилитами Cygwin или других Unix-подобных системах с GNU find, быстрый и грязный хак M-x grep-findи отредактируйте командную строку, чтобы она содержала только find часть с подходящим форматом:
find -type f -name '*.foo' -printf '%p:0:\n'
В любой системе, в которой доступны инструменты Unix, вы можете запустить find команда с M-! find, В буфере вывода вы можете использовать M-x ffap посетить выбранный файл. Вы также можете настроить Dired-X, чтобы C-u C-x C-f можно использовать вместо M-x ffap,
Сегодня это можно сделать с помощью функцииdirectory-files-recursively.
Вы можете открыть: */foo.bar для поиска любых файлов с именем foo.bar в прямом подкаталоге текущего или **/foo.barдля поиска любых файлов с именем foo.bar рекурсивно в подкаталогах текущего.
Если вы используете консультацию , есть очень удобная функцияconsult-find:
Он обновляет минибуфер по мере ввода, а затем вы можете просто выбрать нужный элемент и нажать, ENTERчтобы открыть файл в буфере.
Я также использую vertico для вертикального отображения минибуфера и поля для аннотаций функций в минибуфере, показанных на первом снимке экрана.