Existe uma maneira de abrir todos os arquivos em um diretório de dentro do Vim? Portanto, :commandisso diria "Abra todos os arquivos /some/pathem buffers".
Idealmente, seria ótimo abrir todos os arquivos em um diretório recursivamente.
Respostas:
O comando que você está procurando é args:
Por exemplo:
:args /path_to_dir/*
irá abrir todos os arquivos no diretório
:tab allpara colocá-los em guias individuais.
"/path_to_dir/subdir/" Illegal file name). A solução rápida é executar o segundo comando argd */para removê-los da lista novamente
:argdo source my_commands_batch.vim
Você tentou
:n /some/path/*
Irá abrir todos os arquivos em / algum / caminho
Eu não acho que ele vai abrir o arquivo recursivamente.
EDITAR
Talvez o uso de ** abra recursivamente como daf mencionado
Um método que não requer mexer argsé colocar a lista de arquivos em um arquivo de texto e, em seguida, usar o :socomando para executar os comandos desse arquivo.
Por exemplo, se você deseja abrir todos os arquivos que terminam em .phpum determinado diretório, primeiro crie files.txtcontendo a lista de arquivos, prefixada com qualquer comando que deseja usar para abri-los.
sp alpha.php
sp bravo.php
sp charlie.php
Então, no vim:
:so files.txt
Se a lista de arquivos for grande, é relativamente trivial gerar o files.txtarquivo rapidamente, redirecionando a saída lspara um arquivo e, em seguida, usando uma macro do vim para preceder spantes de cada nome de arquivo.
Obviamente, isso não é tão elegante quanto usar os comandos argse argdo, mas esses comandos também são muito mais complicados.
Também pode haver uma maneira de fazer isso com um único comando na linha de comando, mas mesmo depois de 16 anos eu ainda acho a programação vim estranha e misteriosa.
Outra maneira de abrir arquivos recursivamente
find . -type f -exec vi {} \;
kate **/*(^/)(usando a sintaxe zsh globbing) faz o que é necessário: abre arquivos do diretório fornecido recursivamente. Não é “de dentro” e não está usando o vim de forma alguma, mas “ainda faz o que é necessário”. Ou mesmo kate ~/.vimrc ~/.bashrc. Omitindo “de dentro”, “do diretório fornecido” e “recursivamente” ao mesmo tempo, mas “ainda faz o que é necessário”: abre arquivos.
Se você gostaria de adicionar à lista de argumentos;
:arga what_you-d_like_to_add
Vejo
:he arga
from / in vim para mais informações.
**para combinar arquivos recursivamente. Por exemplo:args /path_to_dir/**