Hoàn thành Zsh, cho phép thay đổi tab


13

Khi zsh hiển thị cho bạn một menu các lần hoàn thành có thể, tôi muốn nó cho phép tôi sử dụng shift-tabđể truy cập các mục hoàn thành trước đó - có tùy chọn nào kiểm soát khóa nào được sử dụng để truy cập các mục hoàn thành trước đó không?

Và nếu vậy, tôi cần thêm gì vào ~/.zshrc tập tin của mình để thiết lập nó.

Nếu nó có bất kỳ sự khác biệt nào, hiện tại tôi có thể điều hướng qua menu hoàn thành bằng các phím mũi tên, nhưng tôi không thích làm điều này vì các phím mũi tên cảm thấy lạc lõng và khó sử dụng.

Câu trả lời:


13

bạn muốn liên kết lệnh biên tập reverse-menu-completevới menuselectsơ đồ bàn phím.

bindkey -M menuselect '^[[Z' reverse-menu-complete

Tôi không chắc trình tự thoát ^[[Zlà như thế nào, vì vậy bạn có thể muốn kiểm tra terminfo (5) để xem liệu có cách nào sử dụng $terminfomảng để liên kết chính xác không.

Lưu ý rằng menuselectsơ đồ bàn phím có sẵn sau khi bạn tải zsh/complistmô-đun. Nếu bạn đã cấu hình hệ thống hoàn thành với compinstall, mô-đun đó thường được tải tự động vào lần đầu tiên bạn hoàn thành một cái gì đó. Để có thể thêm ràng buộc đó vào của bạn ~/.zshrc, trước tiên bạn cần tải mô-đun theo cách thủ công với:

zmodload zsh/complist

^[[Zshift-tabtrên máy tính của tôi quá, vì vậy không lo lắng về điều đó không phải là cầm tay; cảm ơn bạn. :)
Alexej Magura

1
Tôi gặp lỗi sau khi tôi gọi zshsau khi thêm bindkeydòng vào ~/.zshrctệp của mình : ~/.zshrc:bindkey:190: no such keymap `menuselect'
Alexej Magura

2
Đó sẽ là "${terminfo[kcbt]}".
Thomas Dickey
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.