Isso deve fazer o truque:
find . -name "*.txt" -exec vim {} +
Use o Vim, é melhor para sua saúde. :-)
A +
opção muitas vezes esquecida -exec
faz com que todos os nomes de arquivos (até o limite de comprimento da linha) apareçam em uma linha, ou seja, você ainda abre todos os arquivos em uma vim
sessão (navegado com o arquivo :n
seguinte e o :N
arquivo anterior).
Com vim -p
você obtém uma guia de arquivo para cada arquivo. Verifique :help tab-page-commands
para mais detalhes.
Com vim -o
você obterá janelas divididas horizontalmente para cada arquivo, vim -O
janelas verticalmente divididas. Verifique :help window-move-cursor
para mais detalhes.
Observe que a versão anterior desta resposta vim $(find . -name "*.txt")
,, não funciona com espaços nos nomes de arquivos e tem implicações de segurança.
A tubulação no xargs vi
dá um Warning: Input is not from a terminal
terminal mais um comportamento completamente falso posteriormente. O grawity do usuário explicou o motivo em um comentário abaixo e com um pouco mais de explicação nesta pergunta .