Đôi khi tôi đã thử gọi Vim bằng cách sử dụng xargs
, như thế này:
find . -name '*.java' | xargs vim
Những loại công trình:
Khi Vim ra mắt, tôi thấy một chút cảnh báo sau đây:
Vim: Warning: Input is not from a terminal
- Chỉnh sửa tác phẩm -
:files
liệt kê chính xác tất cả các.java
tệp như mong đợi. - Tôi có thể tiết kiệm và bỏ thuốc lá.
Tuy nhiên, sau khi thoát Vim, thiết bị đầu cuối của tôi bị hỏng:
- Bất cứ điều gì tôi gõ tại dấu nhắc shell không được lặp lại.
- Lợi nhuận vận chuyển hoàn toàn không xuất hiện và nguồn cấp dữ liệu đôi khi chỉ xuất hiện.
Điều này diễn ra cho đến khi tôi đưa ra một reset(1)
lệnh để khởi tạo lại thiết bị đầu cuối.
Đây có phải là một lỗi Vim, hoặc có một lời giải thích thỏa đáng hơn cho lý do tại sao nó tương tác với thiết bị đầu cuối như vậy? Tôi đã thấy điều đó xảy ra trên Vim cho đến phiên bản 7.3 (phiên bản dường như không quan trọng) trên Linux và các Thông báo khác nhau.
Tôi biết một cách giải quyết, cụ thể là vim $(find . -name '*.java')
. Cách giải quyết khác sẽ được hoan nghênh, mặc dù đó không phải là câu hỏi chính của tôi.
xargs
sử dụng một hình nộmstdin
không thể được Vim sử dụng và phá vỡ mọi thứ sau đó