Это должно сделать трюк:
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 , а от терминала с полностью поддельным поведением. Пользователь объяснил почему в комментарии ниже, и немного больше объяснений в этом вопросе.