Làm thế nào để mở rộng nội tuyến ký tự đại diện trong bash?


10

Tôi nhớ bash có thể làm như sau:

Giả sử có 3 tệp: a, b, c trong thư mục hiện tại, khi tôi nhập:

$> somecommand *

và sau đó nhấn một tổ hợp phím hoặc phím hoặc một chuỗi khóa, ký tự đại diện * trực tuyến được mở rộng dưới dạng:

$> somecommand a b c

nhưng tôi không thể nhớ và không thể google ra trình tự chính! Cứu giúp!


5
Hãy thửCtrl-X *
Stéphane Chazelas

Câu trả lời:


7

Nếu không, bạn sẽ cần liên kết glob-expand-wordvới một chuỗi khóa. Thông thường bằng cách thêm một cái gì đó như:

"\C-x*": glob-expand-word

để .inputrc.

Để kiểm tra vấn đề hiện tại một cái gì đó như:

bind -P | grep glob-expand-word

Trường hợp kết quả có thể là:

glob-expand-word can be found on "\C-x*".

Điều đó có nghĩa là:

Ctrl-x*

Điều này cũng rất có thể làm việc:

Ctrl-xCtrl-*


Có một cái nhìn bind -Pvà hướng dẫn (s) cho các niceties khác.


3

Có vẻ như bạn đang tìm kiếm danh sách hoàn thành. Trong trang người đàn ông cho bash:

 COMP_TYPE
     Set to an integer value corresponding to the type of completion
     attempted  that caused a completion function to be called: TAB,
     for normal completion, ?, for listing completions after succes
     sive  tabs, !, for listing alternatives on partial word comple
     tion, @, to list completions if the word is not unmodified,  or
     %,  for  menu  completion.   This variable is available only in
     shell functions and external commands invoked by  the  program
     mable completion facilities

Vì vậy, nó phụ thuộc vào chức năng hoàn thành cho ai đó và làm thế nào điều này được hoàn thành.


2

Nếu bạn đang sử dụng set -o vitrong bash, thì Ctrl-X*không hoạt động.

Trong set -o vichế độ bạn cần sử dụng Esc*thay thế.


1
Có thể đáng lưu ý rằng một khi bạn ở chế độ bình thường, <C-X>*sẽ hoạt động, nhưng điều <C-X>này là không cần thiết và không làm gì cả. ( <C-X>không giảm như trong vi.) Nếu bạn đang ở chế độ chèn, thì bạn phải sử dụng <Esc>trước.
wchargein

Điều đó thật tuyệt. Chúng được gọi là gì? phím tắt bash? Có một số tài liệu mà tôi có thể tìm thấy nhiều hơn các phím tắt này?
wvducky 17/2/2016

2
@wisbucky: Hơi muộn một chút, nhưng đối với bất kỳ ai khác, GNU Readline chịu trách nhiệm cho những việc này. Khi bạn có một ngày chậm chạp, hãy đọc qua phần CHỈNH SỬA man readline. Tôi đã sử dụng Bash được 10 năm và tôi vẫn đang học những cái mới.
Soren Bjornstad
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.