Làm cho tab BASH hoàn thành điền vào trận đấu đầu tiên?


11

Có cách nào để làm cho BASH điền vào trận đấu đầu tiên khi tôi nhấn TAB, giống như dấu nhắc lệnh của Windows không?

(Nó vẫn sẽ hiển thị danh sách các trận đấu, nhưng nó sẽ xoay vòng qua chúng khi tôi tiếp tục nhấn tab.)

tức là Mục tiêu ở đây là để có thể điền vào bất kỳ trận đấu với chỉ phím TAB, nếu có đủ ép - như trong Windows.

Câu trả lời:


15

Thêm phần sau vào .inputrctệp của bạn , (vị trí chính xác khác nhau giữa các hệ thống):

"\C-i": menu-complete

Điều này ánh xạ TAB thành menu hoàn thành, tự động hoàn thành trận đấu đầu tiên.

Sau đó thêm (hoặc không ghi chú) show-all-if-ambiguous, phần này hiển thị danh sách các lần hoàn thành có thể có trên lần nhấn TAB đầu tiên.

Ngoài ra, bạn có thể đặt hoàn thành menu mỗi phiên (không cần chỉnh sửa .inputrc) bằng cách thực hiện

bind '"\C-i" menu-complete'

Không. Điều đó chắc chắn không có gì giống như dấu nhắc lệnh của Windows. :-)
dùng541686

@Mehrdad: đã chỉnh sửa, tôi hy vọng tôi đã nhận được ngay bây giờ.
Philomath

+1 gần như !!! Đó là những gì tôi muốn, nhưng có cách nào để làm điều đó hiển thị menu nếu nó mơ hồ? (Tôi có thể yêu cầu quá nhiều, tôi biết, nhưng tôi hy vọng điều đó là có thể.)
user541686

@Mehrdad: nếu đó là những gì bạn muốn, hãy chấp nhận nó, điều này giúp mọi người có được câu trả lời đúng nhanh chóng. Đối với yêu cầu mới của bạn để làm cả hai cùng một lúc, tôi không tin rằng đó là có thể, nhưng ai mà biết được? ... Bạn tuy nhiên có thể ràng buộc menu-completekhác key-chuỗi, giống như "\M-s"cho Meta+S, vì vậy bạn có thể chọn theo ý thích.
Philomath

1
Bạn biết gì? Có vẻ như nó thực sự đang làm chính xác những gì tôi muốn: Đầu tiên hiển thị menu, sau đó đạp xe qua các tùy chọn! Tôi không nghĩ rằng tôi đã thấy điều này trên máy tính đầu tiên tôi đã thử (có thể tôi đã không chú ý), nhưng nó dường như đang hoạt động hoàn hảo! :) (Chỉnh sửa: Có vẻ như bạn cần cả cài đặt này show-all-if-ambiguous bật để hoạt động này.)
user541686

4

Mặc dù tôi không biết về việc làm cho chức năng này hoạt động với bash, zsh đi kèm với thiết lập với chính xác những gì bạn muốn theo mặc định. Kiểm tra oh-my-zshzsh .

zsh có hầu hết các tính năng của bash với một số chức năng được thêm vào, như khả năng điều hướng chỉ với tab và nhập!

Hầu hết các bản phân phối linux đi kèm với một gói để cài đặt zsh.


1
... Ôi trời ơi !! Điều đó thật thú vị, tôi sẽ xem xét nó ... nó có thể hoặc không thể làm những gì tôi cần.
dùng541686

Rất vui vì tôi có thể giúp. Bạn đang sử dụng bản phân phối nào? Tôi có thể cung cấp cho bạn một câu trả lời sâu hơn với một hướng dẫn về cách cài đặt zsh và oh my zsh.
Chris Knadler

+1 Tôi đã cài đặt zsh, có vẻ như khá tuyệt vời! Nếu tôi không gặp phải bất kỳ vấn đề nào, tôi cũng có thể chấp nhận điều này, cảm ơn! :) (Tôi đang sử dụng Ubuntu btw.)
user541686

Thật tuyệt vời, nếu bạn chỉ chạy apt-get install zsh và sau đó chạy trình cài đặt tự động cho oh-my-zsh ở đây , bạn sẽ ổn. Hãy cho tôi biết nếu bạn cần bất kỳ trợ giúp để thiết lập nó.
Chris Knadler
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.