Tôi đã xem qua tài liệu này và tôi phải nói rằng tôi không thể tìm thấy bất kỳ cách nào để phát hiện và hiển thị chế độ vi hiện tại. Tôi hy vọng bạn có một bất ngờ thú vị và ai đó đưa ra giải pháp, nhưng tôi chắc chắn không thể thấy cách nào để làm những gì bạn yêu cầu.
Tôi nghĩ rằng có một cách để làm điều này, nhưng nó quá mức cần thiết cho một sự phiền toái nhỏ, và tôi không nghĩ đó là những gì bạn có trong đầu khi bạn đặt ra câu hỏi này. Nếu điều này là đúng, hãy ngừng đọc ngay bây giờ và tận hưởng cuộc sống của bạn.
OTOH, nếu đây thực sự là thú cưng của bạn, và nó khiến bạn phát điên, và bạn thực sự tuyệt vọng muốn giải quyết vấn đề này, đây là ý tưởng của tôi về cách giải quyết vấn đề này:
- Nhận một bản sao của Lập trình nâng cao trong Môi trường UNIX (R) của W. Richard Stevens.
- Đọc các chương về Luồng và Thiết bị đầu cuối I / O.
- Tải mã nguồn về cuốn sách nói trên, bao gồm một ví dụ về luồng có thể được xếp lớp trên thiết bị đầu cuối.
- Thực hiện xử lý của bạn đối với tổ hợp phím Esc (hoặc cả hai lần nhấn phím thay đổi chế độ) và chỉ ra điều đó thông qua thao tác bấm chuông hoặc nền của dòng hiện tại.
Tóm lại, Unix triển khai I / O đầu cuối dưới dạng luồng I / O song công hoàn chỉnh giữa trình điều khiển thiết bị và quy trình người dùng, trong đó các mô-đun có thể được chèn vào. Nó được tổ chức thành một ngăn xếp, vì vậy bạn có thể tạo nhiều luồng như bạn muốn. Tổng các luồng được tạo sẽ tạo ra hành vi I / O đầu cuối của bạn.
Khi một ký tự được nhập, mô-đun đầu tiên sẽ kiểm tra nó và chuyển nó vào (nếu nó muốn). Khi phản hồi đến theo hướng ngược lại, nó lại có cơ hội kiểm tra và chuyển nó đi. Đây là cách Ctrl-C được xử lý ở mức cao hơn so với khóa ký tự bình thường.
Bạn có thể tạo nhị phân triển khai mô-đun luồng, khi được gọi sẽ chạy âm thầm ở nền trước, kiểm tra và chuyển qua tất cả các tổ hợp phím, thực hiện hành động ưa thích của bạn trên tổ hợp phím bạn quan tâm. Đối với tất cả ý định và mục đích, nó sẽ xuất hiện như thể bạn đang làm việc trên vỏ. Ôi. Bạn có thể gọi nhị phân này trên dòng cuối cùng (hoặc đầu tiên hoặc bất kỳ) nào trong .tcshrc của bạn và bạn thậm chí sẽ không biết nó ở đó.
Có một mồi tốt ở đây , nhưng tôi không thể tìm thấy nhiều về chủ đề này, có lẽ bởi vì nó đã qua quá khứ.