Một cách có thể cung cấp giải pháp bạn muốn, là incremental-complete-word
:
zle -N incremental-complete-word
bindkey '^Xi' incremental-complete-word
Điều này tải funtion và liên kết nó với Ctrl- X i. Bây giờ bạn có thể thử nó:
> k^Xi
incremental (complete): -no prefix-
Trong ví dụ này, chữ cái k
đã được gõ, theo sau là Control-X i.
> kil
incremental (complete): kill
Tôi đã gõ il
và bây giờ có một khả năng hoàn thành ( kill
). Người ta có thể chấp nhận điều đó và nhấn enter.
> kill^D
incremental (complete): -no prefix-
- external command -
kill killall killall5
Bằng cách gõ Ctrl- Dzsh cho thấy sự hoàn thành có thể.
Từ zshcontrib(1)
:
gia tăng-hoàn thành từ
Điều này cho phép hoàn thành gia tăng của một từ. Sau khi bắt đầu lệnh này, một danh sách các lựa chọn hoàn thành có thể được hiển thị sau mỗi ký tự bạn nhập, bạn có thể xóa bằng ^Hhoặc DEL. Nhấn return chấp nhận hoàn thành cho đến nay và đưa bạn trở lại chỉnh sửa bình thường (nghĩa là dòng lệnh không được thực thi ngay lập tức). Bạn có thể nhấn TABđể hoàn thành bình thường, ^G hủy bỏ trở lại trạng thái khi bạn bắt đầu và ^Dliệt kê các trận đấu.
zsh
hành vi của. Điều gì sẽ xảy ra chính xác? Tại thời điểm câu hỏi này đọc giống như bạn muốn các lựa chọn được liệt kê cho mỗi lần nhấn phím sau TAB ban đầu, nhưng điều đó thực sự sẽ không hoàn thành bất cứ điều gì. Mọi phím bấm có nên hoạt động như thể nó được theo sau bởi TAB không? Hãy nhớ rằng điều này có nghĩa là khá nhiều khoảng trống cho các hoàn thành ngoài ý muốn.