Desde que o que você postou esteja funcionando para você até agora,
find ~ -type f -size -1k > /tmp/1 && vim -q /tmp/1
E você só quer se livrar da configuração do arquivo intermediário > /tmp/1 &&
e /tmp/1
, veja se isso funciona para você:
vim -q <( find ~ -type f -size -1k )
Explicação
- do seu código original, você parece estar usando
find
para gerar a lista de arquivos desejada com seus critérios específicos, depois foi salvo em/tmp/1
, que era meramente um arquivo intermediário apenas para quevim -q filelist
pudesse ser feito, porquevim -q
espera um argumento de arquivo -
<( commands... )
é uma das substituições de processos do Bash , executa automaticamente um comando e salva a saída para uma temperatura do sistema apenas para essa finalidade/dev/fd/63
se você estiver curioso -
vim -q
, em seguida, acha que está recebendo um arquivo e, para todos os efeitos, ele realmente funciona, então funciona
Dicas adicionais
Se você não precisa usar o recurso de correção rápida do vim, mas apenas deseja uma maneira rápida de editar vários arquivos, lembre-se de que você pode enviar vários argumentos do arquivo vim ( vim file1 file2...
), portanto modifique seu find
original, nós poderíamos:
find ~ -type f -size -1k -exec vim {} +
Dentro do vim
-
:args
será exibido na barra de status, na lista de argumentos, como:file1 [file2] file3
se você estiver editandofile2
-
:n
para navegar para o próximo arquivo na lista de argumentos -
:wn
para escrever o próximo significado salvar este arquivo e abrir automaticamente o próximo arquivo -
:prev
para ir para o arquivo anterior