Expressão regular
Para usar uma regex, você também pode tentar find-lisp-find-dired
. Este comando pertence à lib padrão. find-lisp , que é totalmente escrito em elisp, ou seja, você não precisa ter instalado um find
programa externo
.
Por exemplo, o seguinte mostra todos os arquivos com a extensão '.el' no diretório ~ / lisp:
M-x find-lisp-find-dired RET ~/lisp RET \.el\' RET
(O jogo homenageia case-fold-search
).
Curinga
Vale ressaltar que desde a próxima versão do Emacs (v26.1) Dired suporta wilcards na parte do diretório do argumento do nome do arquivo. Isso significa que os seguintes trabalhos:
C-x d ~/soft/*/*.c RET
(A correspondência diferencia maiúsculas de minúsculas).
Este comando mostra em um buffer direcionado todos os arquivos com extensão '.c', 2 níveis de profundidade em '~ / soft' . Isso significa que todos os arquivos como
'~ / soft / foo / bar.c' serão listados, mas não os arquivos como '~ / soft / qux.c'
nem '~ / soft / foo / baz / qux.c' .
O mesmo, mas sem distinção entre maiúsculas e minúsculas:
C-x d ~/soft/*/*.[cC] RET
Bônus
Se você estiver executando o Dired com um 'ls' implementado no elisp, 'ls-lisp' ou 'eshell-ls', poderá listar recursivamente todos os arquivos que correspondem a um curinga com a seguinte sintaxe:
C-x d ~/soft/**/*.c RET
Note o '**'. Nesse caso, todos os arquivos em '~ / soft' correspondentes ao curinga são mostrados, mesmo '~ / soft / qux.c' .
No entanto, quando você estiver usando insert-directory-program
a expansão de curinga é feita pelo shell do sistema; isso significa que essa sintaxe '**' recursiva funciona apenas se for suportada pelo seu shell. Por exemplo, o zsh suporta, mas o bash não. Com shells diferentes do zsh, o comando anterior fará o mesmo que:
C-x d ~/soft/*/*.c RET