В 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,

В Emacs 23 попробуйте M-x find-dired

Сегодня это можно сделать с помощью функцииdirectory-files-recursively.

Вы можете открыть: */foo.bar для поиска любых файлов с именем foo.bar в прямом подкаталоге текущего или **/foo.barдля поиска любых файлов с именем foo.bar рекурсивно в подкаталогах текущего.

Если вы используете консультацию , есть очень удобная функцияconsult-find:

Он обновляет минибуфер по мере ввода, а затем вы можете просто выбрать нужный элемент и нажать, ENTERчтобы открыть файл в буфере.

Я также использую vertico для вертикального отображения минибуфера и поля для аннотаций функций в минибуфере, показанных на первом снимке экрана.

Другие вопросы по тегам