Для цього слід зробити фокус:
find . -name "*.txt" -exec vim {} +
Вживайте Vim, це краще для вашого здоров’я. :-)
Часто недоогляданий +варіант, щоб -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плюс, а також термінал з цілком хибною поведінкою. Користь користувача пояснила, чому в коментарі нижче, і трохи більше пояснень у цьому питанні .