Для цього слід зробити фокус:
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
плюс, а також термінал з цілком хибною поведінкою. Користь користувача пояснила, чому в коментарі нижче, і трохи більше пояснень у цьому питанні .