2012-01-06 10 views
5

Descubrí previamente, and posted, acerca de cómo cargar varios buffers usando :argadd en lugar de :badd. Sin embargo, me gustaría agregar todos los archivos de todos los subdirectorios que coincidan con un determinado patrón. Mi intento actual se ve así:Cómo pasar el resultado de find a comando argadd de vim

:argadd !find . -name *.js -type f 

Pero añade que

51  "!find"      line 1 
52  "~/Documents/neuro-sim/website/3.0" line 1 
53  "-name"      line 1 
54  "*.js"       line 1 
55  "-type"      line 1 
56  "f"       line 1 

a la memoria intermedia. ¿Qué modificación tengo que hacer para que esto funcione?

Respuesta

4

Pero ¿por qué no lo haces con

:args **/*.js 

(Sí, ya sé que no se puede filtrar los archivos de esta manera ...)

HTH

+0

¿irá a través de cada subdirectorio recursivamente? ¿Puedo hacer ': args/home/user/*. Js'? – puk

+2

@puk: no, pero ': args **/*. Js' will. Ver ': help wildcards' – Benoit

+0

¿Puedes poner' '/ *. Js' en la respuesta y luego aceptaré esto. – puk

0

Usted necesita acentos abiertos "` "para evaluar el hallazgo y conectarlos a args. Estoy de acuerdo, parece extraño no usar "!" pero creo que es para manejar búferes de flujo no args ...

:arga `find . -name '*glob_pattern*'` 
Cuestiones relacionadas