Existe uma maneira de abrir todos os arquivos em um diretório de dentro do Vim? Portanto, :command
isso diria "Abra todos os arquivos /some/path
em buffers".
Idealmente, seria ótimo abrir todos os arquivos em um diretório recursivamente.
O comando que você está procurando é args:
Por exemplo:
:args /path_to_dir/*
irá abrir todos os arquivos no diretório
**
para combinar arquivos recursivamente. Por exemplo:args /path_to_dir/**
:tab all
para colocá-los em guias individuais."/path_to_dir/subdir/" Illegal file name
). A solução rápida é executar o segundo comandoargd */
para removê-los da lista novamente:argdo source my_commands_batch.vim
Por que não funciona se desejo abrir todos os arquivos que terminam com uma determinada extensão? eu tentei
e abre apenas os arquivos no diretório atual.
Encontrei a resposta. O código correto é
:n **/*.cs
Para maiores informações
:h find
fonte
Você tentou
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
fonte
Um método que não requer mexer
args
é colocar a lista de arquivos em um arquivo de texto e, em seguida, usar o:so
comando para executar os comandos desse arquivo.Por exemplo, se você deseja abrir todos os arquivos que terminam em
.php
um determinado diretório, primeiro criefiles.txt
contendo a lista de arquivos, prefixada com qualquer comando que deseja usar para abri-los.Então, no vim:
Se a lista de arquivos for grande, é relativamente trivial gerar o
files.txt
arquivo rapidamente, redirecionando a saídals
para um arquivo e, em seguida, usando uma macro do vim para precedersp
antes de cada nome de arquivo.Obviamente, isso não é tão elegante quanto usar os comandos
args
eargdo
, 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.
fonte
Outra maneira de abrir arquivos recursivamente
fonte
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 mesmokate ~/.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;
Vejo
from / in vim para mais informações.
fonte