Làm thế nào để làm cho ctrl + p hoạt động chính xác như mũi tên lên trong zsh?


15

Trước hết, tôi đang sử dụng zsh và oh-my-zsh mà gần như không có tùy chỉnh nào khác.

Trong zsh, khi tôi nhấn mũi tên lên, nó mang lại cho tôi các lệnh mới nhất. Và nếu tôi gõ một số ký tự trước khi tôi nhấn mũi tên lên, nó sẽ mang lại cho tôi lệnh mới nhất bắt đầu với các ký tự đó. Đây là một tính năng khá hữu ích vì tôi phát hành rất nhiều lệnh git / vim / scp.

Nhưng bây giờ tôi đang chuyển sang bàn phím không có phím mũi tên và tôi có xu hướng sử dụng ctrl+ pthay vì mũi tên lên để hoàn thành lịch sử. Tuy nhiên, dù tôi có gõ bao nhiêu ký tự trước khi bấmctrl + p, nó sẽ luôn mang đến cho tôi lệnh mới nhất (không phải là bắt đầu mới nhất với các ký tự đó)

Làm cách nào để định cấu hình zsh (hoặc oh-my-zsh) để khắc phục điều này?

Câu trả lời:


18
bindkey "^P" up-line-or-search

Cảm ơn rất nhiều! Tôi sẽ gửi một vấn đề tới oh-my-zsh để thêm vấn đề này vào lib / keybinding.zsh mặc định của nó.
Gordon Gao

4
Bạn có thể muốn thêm bindkey "^N" down-line-or-searchlà tốt cho sự nhất quán.
ejoubaud

6
bindkey -e

Điều này sử dụng keybindings emacs và dường như làm việc cho tôi.


Trong tệp RC shell của bạn ~/.zshrc nếu bạn đặt export EDITOR=vimthì ràng buộc khóa trong shell sẽ thay đổi thành vim. Trong trường hợp này, đặt thủ công liên kết khóa thành chế độ emacs bằng cáchbindkey -e
MutantMahesh
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.