Có thể định cấu hình bash để tự động hoàn thành với một tab như zsh không?


13

Như hầu hết mọi người ở đây đều biết, khi sử dụng bash tại dấu nhắc lệnh nếu bạn nhập một phần tên tệp một lệnh hoặc tùy chọn cho lệnh, v.v. bash sẽ hoàn thành từ nếu có chính xác một khớp.
Khi có nhiều hơn một trận đấu, bạn cần phải đánh <Tab>hai lần và bash sẽ tạo ra một danh sách các trận đấu có thể.
Tôi muốn cấu hình bash để chỉ cung cấp các tùy chọn đó trên đầu tiên <Tab>.
Điều này có thể mà không cần viết một kịch bản? tức là một lựa chọn vỏ?

man bash có một phần "hoàn thành lập trình" nhưng tôi không thể biết liệu có tùy chọn nào để bật "hoàn thành một tab" hay không.


Và ... câu hỏi ngược lại Có thể định cấu hình zsh để không tự động hoàn thành với một tab như bash (đó là điều tôi muốn :)
Josh

Câu trả lời:


17

Đặt cái này trong ~/.inputrc:

set show-all-if-ambiguous on

Đối với tín dụng bổ sung, thêm:

set completion-ignore-case on

Tất cả các tùy chọn đều có trong hướng dẫn sử dụng GNU ...


3
Cảnh giác: đưa điều này vào ~/.bash_profilecông việc của bạn . Nó phải đi trong~/.inputrc
yndolok

5
Không đùa đâu ... Đó là lý do tại sao tôi chỉ định đặt nó ở đó.
jasonwryan

6

Tôi không có đủ danh tiếng để bình luận, nhưng tôi sẽ thêm vào câu trả lời của jasonwryans rằng nó có thể được thêm vào .bash_profilehoặc .bashrcbằng cách viết chúng dưới dạng:

bind 'set show-all-if-ambiguous on'
bind 'set completion-ignore-case on'

Tôi trường hợp bất cứ ai khác tìm thấy câu hỏi này như tôi đã làm.

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.