¿Hay alguna forma de abrir todos los archivos de un directorio desde Vim? Entonces, :command
eso diría en efecto "Abra todos los archivos /some/path
en búfer".
Idealmente, sería genial abrir todos los archivos bajo un directorio de forma recursiva.
**
para hacer coincidir archivos de forma recursiva. Por ejemplo:args /path_to_dir/**
:tab all
para colocarlos en pestañas individuales."/path_to_dir/subdir/" Illegal file name
). La solución rápida es ejecutar el segundo comandoargd */
para eliminarlos de la lista nuevamente:argdo source my_commands_batch.vim
¿Por qué no funciona si quiero abrir todos los archivos que terminan con una determinada extensión? Lo intenté
y abre solo los archivos en el directorio actual.
Encontré la respuesta El código correcto es
:n **/*.cs
Para más información
:h find
fuente
Has probado
Abrirá todos los archivos en / some / path
Sin embargo, no creo que abra el archivo de forma recursiva.
EDITAR
Tal vez el uso de ** se abra de forma recursiva como se menciona en daf
fuente
Un método que no requiere jugar
args
es poner la lista de archivos en un archivo de texto y luego usar el:so
comando para ejecutar los comandos en ese archivo.Por ejemplo, si desea abrir todos los archivos que terminan en
.php
un directorio determinado, primero cree quefiles.txt
contenga la lista de archivos, precedida del comando que desee utilizar para abrirlos.Luego, dentro de vim:
Si la lista de archivos es grande, es relativamente trivial generar el
files.txt
archivo rápidamente, redirigiendo la salida dels
a un archivo y luego usando una macro vim para anteponersp
antes de cada nombre de archivo.Obviamente, esto no es tan elegante como usar los comandos
args
yargdo
, pero esos comandos también son mucho más complicados.También podría haber una manera de hacer esto con un solo comando en la línea de comandos, pero incluso después de 16 años todavía encuentro que la programación de vim es extraña y arcana.
fuente
Otra forma de abrir archivos de forma recursiva
fuente
kate **/*(^/)
(usando la sintaxis globbing de zsh) hace lo que se necesita: abre archivos del directorio dado de forma recursiva. No es “desde adentro” y no usa vim en absoluto, pero “aún hace lo que se necesita”. O inclusokate ~/.vimrc ~/.bashrc
. Omitiendo "desde adentro", "desde el directorio dado" y "recursivamente" por completo, pero "todavía hace lo que se necesita": abre archivos.Si desea agregar a la lista de argumentos;
ver
desde / en vim para obtener más información.
fuente