Это должно сделать трюк:
find . -name "*.txt" -exec vim {} +
Используйте Vim, это лучше для вашего здоровья. :-)
Опция oft-overlooked позволяет сделать так, +чтобы -execвсе имена файлов (вплоть до ограничения длины строки) отображались в одной строке, т.е. вы все равно получаете все файлы, открытые в одном vim сеансе (навигация с помощью :nдля следующего и :Nдля предыдущего файла).
При этом vim -pвы получаете вкладку файла для каждого файла. Проверьте :help tab-page-commandsдля более подробной информации.
При этом vim -oвы получите горизонтально разделенные окна для каждого файла, vim -Oвертикально разделенные окна. Проверьте :help window-move-cursorдля более подробной информации.
Обратите внимание, что предыдущая версия этого ответа vim $(find . -name "*.txt")не работает с пробелами в именах файлов и имеет последствия для безопасности.
Пайпинг в xargs viдает Warning: Input is not from a terminalплюс плюс терминал с полностью поддельным поведением впоследствии. Пользователь объяснил, почему в комментарии ниже, и немного больше объяснений в этом вопросе .