Как найти файл в Emacs без известного точного каталога?
в vim очень легко найти файл, не зная, в каком каталоге находится файл. Выполнение этого": args **/file.hpp " если файл существует, он откроет его.
есть ли какая-либо подстановка в Emacs для этого? Файл find-file кажется работающим для подстановочных знаков, но он не делает сложного, как vim с **
.
6 ответов
M-x find-name-dired
выглядит так, как вы хотите (вам будет предложено корневой каталог для начала поиска и маска файла)
более тупой, но все же удобный инструмент:M-x locate
использование OS X? Это заставляет emacs использовать spotlight вместо стандартного locate
:
(setq locate-command "mdfind")
хороший совет, если вы используете ido-find-file
:
Из известного корневого каталога вы можете использовать ido-wide-find-file-or-pop-dir
, который по умолчанию привязан к M-f.
на сосульки вы можете найти файлы, сопоставляя не только относительное имя файла, но и любые части пути. Вы можете использовать подстроку, регулярное выражение и нечеткое сопоставление. Вы можете и вместе несколько шаблонов поиска (прогрессивное завершение). См. раздел multi-command icicle-locate-file
. И вы даже можете искать содержимое файла, а также или вместо имени файла.
мне нравится
M-x ifind /some/path/to/start/file.hpp
или просто
M-x ifind file.hpp
С помощью пакета ifind нашли здесь. Примечание: он открывает *ifind*
буфер, который отображает результаты, которые вы можете выбрать с помощью мыши, или перемещаться с помощью C-x' (он же M-x следующая ошибка).