Respuestas:
Con zsh
:
vim ./**/*(.)
Otras conchas:
find . \( -name '.?*' -prune \) -o -type f -exec vim {} +
Para abrir solo los archivos regulares (no ocultos) (no directorios, enlaces simbólicos, tuberías, dispositivos, puertas, enchufes ...).
vim ./**/*(D-.)
Otros proyectiles, GNU find
:
find . -xtype f -exec vim {} +
Para abrir también archivos ocultos (y atravesar directorios ocultos) y enlaces simbólicos a archivos normales.
Y:
vim ./***/*(D-.)
otras conchas:
find -L . -type f -exec vim {} +
para atravesar también enlaces simbólicos cuando se busca en subdirectorios.
Si solo desea un nivel de subdirectorios:
vim ./* ./*/*
Tenga en cuenta que es una buena costumbre ponerle un prefijo a sus globos ./
en caso de que algunos de los nombres de archivo comiencen con -
o +
.
(por supuesto, los find
que también funcionan zsh
. Tenga en cuenta que pueden ejecutar varias instancias de vim
si la lista de archivos es grande).
En fiesta con shopt -s extglob
:
for file in **/**; do [[ -f "$file" ]] && vim "$file"; done
Tenga en cuenta que, según el comentario de Stéphane , antes de Bash 4.3 esto seguiría cualquier enlace simbólico en los directorios cubiertos.
vim
embargo, eso se ejecuta uno por archivo. Tenga en cuenta que bash antes de 4.3 solía atravesar enlaces simbólicos con**
. Se ha solucionado en 4.3.