Chọn một kết quả cụ thể từ các đề xuất hoàn thành


10

Giả sử tôi có 3 tệp trong một thư mục cụ thể: abc.txt, aww.txt, ant.txt

Nếu tôi làm: cat a(và nhấn tab để xem tùy chọn), thiết bị đầu cuối sẽ hiển thị 3 tên tệp:abc.txt, aww.txt, ant.txt

Có cách nào để chọn kết quả thứ n thay vì gõ, bằng cách chỉ định số chỉ mục trong kết quả mà thiết bị đầu cuối được hiển thị?

một cái gì đó như: cat a2để có được tập tin thứ hai ( aww.txt)?


Không phải là tôi biết. Trong Zsh, bạn có thể lặp lại tất cả các lần hoàn thành có thể nhấn TAB nhiều lần (ieeg nhấn TAB 4 lần sẽ hoàn thành ant.txt). Nó cũng có thể được thiết lập để có thể lặp lại để điều hướng tốt hơn. Điều đó rõ ràng ngụ ý thay đổi vỏ thành Zsh mặc dù. Nếu bạn cho rằng một sự thay thế đủ tốt, tôi có thể viết câu trả lời cho điều đó.
kos

Câu trả lời:


11

Giả sử bạn đang sử dụng bash, hãy thêm phần sau vào ~/.bashrc:

bind '"\e[6~": menu-complete'
bind '"\e[5~": menu-complete-backward'

Hoặc để thay đổi mặc định cho tất cả các chương trình sử dụng thư viện hoàn thành đường đọc, không chỉ bash, hãy tạo tệp ~/.inputrcchứa:

$include /etc/inputrc
"\e[6~": menu-complete
"\e[5~": menu-complete-backward

Bây giờ khi bạn mở một thiết bị đầu cuối mới, bạn có thể nhấn:

  • TAB như bình thường để xem hoàn thành có sẵn.
  • Pg Dn để chọn hoàn thành đầu tiên hoặc thay đổi để hoàn thành tiếp theo.
  • Pg Up để chọn lần hoàn thành cuối cùng hoặc thay đổi thành lần trước.
  • Alt+ n Pg Dnđể chọn hoàn thành thứ n hoặc di chuyển về phía trước n hoàn thành.

Vì vậy, đối với loại ví dụ của bạn Pg DnPg Dnhoặc Alt+ 2Pg Dnđể có được tệp thứ hai aww.txt.


Hãy giả vờ rằng bạn đang sử dụng cdvà đạp xe qua các thư mục. Phím nào bạn nhấn để "chọn" thư mục đó và bắt đầu quay vòng nội dung của thư mục đó? Có một điều khác để thiết lập / liên kết?
Tony

Một cách khác, nếu bạn không muốn di chuyển tay quá xa hàng chủ của bàn phím, là sử dụng Ctrl + Alt + P thay vì PageUp và Ctrl + Alt + N thay vì PageDown, có thể được thực hiện thông qua bind '"\e\20": menu-complete-backward'bind '"\e\16": menu-complete'.
Ruslan
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.