Cái này cần phải dùng mẹo:
find . -name "*.txt" -exec vim {} +
Sử dụng Vim, nó tốt hơn cho sức khỏe của bạn. :-)
+Tùy chọn bỏ qua để -execlàm cho tất cả tên tệp (giới hạn độ dài tối đa của dòng) xuất hiện trong một dòng, tức là bạn vẫn nhận được tất cả các tệp được mở trong một vim phiên (được điều hướng cho tệp :ntiếp theo và :Ncho tệp trước đó).
Với vim -pbạn có được một tab tập tin cho mỗi tập tin. Kiểm tra :help tab-page-commandsđể biết thêm chi tiết.
Với vim -obạn sẽ có được các cửa sổ phân chia theo chiều ngang cho mỗi tệp, các vim -Ocửa sổ phân chia theo chiều dọc. Kiểm tra :help window-move-cursorđể biết thêm chi tiết.
Lưu ý rằng phiên bản trước của câu trả lời này vim $(find . -name "*.txt"), không hoạt động với khoảng trắng trong tên tệp và có ý nghĩa bảo mật.
Đường ống vào xargs vicho một Warning: Input is not from a terminal, cộng với một thiết bị đầu cuối với hành vi hoàn toàn không có thật sau đó. Sự khéo léo của người dùng đã giải thích lý do tại sao trong một bình luận dưới đây, và với một chút giải thích hơn trong câu hỏi này .