Respostas:
Com zsh
:
vim ./**/*(.)
Outras conchas:
find . \( -name '.?*' -prune \) -o -type f -exec vim {} +
Para abrir apenas os arquivos regulares (não ocultos) (não diretórios, links simbólicos, tubos, dispositivos, portas, soquetes ...).
vim ./**/*(D-.)
Outras conchas, GNU find
:
find . -xtype f -exec vim {} +
Para também abrir arquivos ocultos (e percorrer diretórios ocultos) e links simbólicos para arquivos regulares.
E:
vim ./***/*(D-.)
outras conchas:
find -L . -type f -exec vim {} +
também percorrer links simbólicos ao procurar em subdiretórios.
Se você deseja apenas um nível de subdiretórios:
vim ./* ./*/*
Observe que é um bom hábito prefixar seus globs ./
caso alguns nomes de arquivos comecem com -
ou +
.
(é claro que find
eles também funcionam zsh
. Observe que eles podem executar várias instâncias vim
se a lista de arquivos for grande).
Na festança com shopt -s extglob
:
for file in **/**; do [[ -f "$file" ]] && vim "$file"; done
Observe que, conforme o comentário de Stéphane , antes do Bash 4.3, isso seguiria quaisquer links simbólicos nos diretórios abordados.
vim
por arquivo. Observe que o bash anterior ao 4.3 costumava atravessar links simbólicos com**
. Foi corrigido no 4.3.