Ini seharusnya berhasil:
find . -name "*.txt" -exec vim {} +
Gunakan Vim, itu lebih baik untuk kesehatan Anda. :-)
+ yang sering diabaikan pilihan untuk -exec membuat semua nama file (hingga batas panjang baris) muncul dalam satu baris, yaitu Anda masih dapat membuka semua file dalam satu vim sesi (navigasi dengan :n untuk selanjutnya dan :N untuk file sebelumnya).
Dengan vim -p Anda mendapatkan tab file untuk setiap file. Periksa :help tab-page-commands untuk detail lebih lanjut.
Dengan vim -o Anda akan mendapatkan jendela yang dibagi secara horizontal untuk setiap file, vim -O jendela yang terbelah secara vertikal. Periksa :help window-move-cursor untuk lebih jelasnya.
Perhatikan bahwa versi sebelumnya dari jawaban ini, vim $(find . -name "*.txt") , tidak berfungsi dengan spasi pada nama file, dan memiliki implikasi keamanan.
Menyalin ke xargs vi memberikan Warning: Input is not from a terminal , ditambah terminal dengan perilaku palsu setelahnya. Grawity pengguna menjelaskan alasannya dalam komentar di bawah, dan dengan sedikit penjelasan lagi dalam pertanyaan ini.
Atau jalankan vim dan dari sana:
:args **/*.txt