Làm cách nào để kiểm soát khi bash tự động hoàn thành hiển thị danh sách phân trang hoàn thành?


8

Trong các bản cài đặt linux trước đây của tôi, tính năng tự động hoàn thành bash luôn hoạt động mà không gặp vấn đề gì. Nếu tôi muốn làm bất cứ điều gì với các tập tin, đưa ra một tiền tố của tên tệp và nhấn tab, liệt kê tất cả các tiền tố khớp với tiền tố nhưng nó cũng lặp lại lời nhắc bên dưới nó với lệnh và tiền tố của tôi, để tôi có thể tiếp tục gõ.

Bây giờ tôi đã cập nhật hệ thống của mình lên kubfox 18.04 và việc tự động hoàn thành không còn hoạt động trôi chảy nữa. Điều thậm chí còn xa lạ, hành vi không thể đoán trước được như nó phụ thuộc vào konsole. Nếu lệnh là less, nó hoạt động luôn chính xác (như được mô tả ở trên), nhưng nếu lệnh là cphoặc mv, hành vi khác nhau. Đôi khi nó hoạt động chính xác, nhưng thường nó hiển thị một danh sách các tệp phù hợp với nhiều hơn (ẩn dấu nhắc của tôi) và tôi phải nhập qđể thoát nhiều hơn và có thể tiếp tục. Một điều nhỏ, nhưng gây phiền nhiễu vì nó đòi hỏi phải gõ thêm.

Tôi thấy .bashrccác cuộc gọi đó /usr/share/bash-completion/bash_completion nhưng tôi chưa thực hiện bất kỳ thay đổi nào đối với việc này.

Câu hỏi: Điều gì gây ra hành vi khó lường này? Làm thế nào tôi có thể sửa chữa nó?

Câu trả lời:


8

Lý do hóa ra rất đơn giản: Nếu thiết bị đầu cuối đủ lớn, tự động hoàn thành có thể hiển thị tất cả các lựa chọn thay thế trên dấu nhắc (trên hai cột), nhưng nếu nó quá nhỏ, nó sẽ sử dụng nhiều hơn. Vì vậy, mẹo là sử dụng các thiết bị đầu cuối đủ lớn.

Vì một số lý do, tôi đã không gặp phải điều này trong các cài đặt trước đây của mình, có thể do các thiết bị đầu cuối lớn hơn / phông chữ nhỏ hơn. Với ít hơn, mọi thứ đều hoạt động tốt, vì có ít lựa chọn thay thế hơn và chúng phù hợp với thiết bị đầu cuối.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.