Đây là một câu hỏi cổ xưa, nhưng về cơ bản, câu trả lời duy nhất (và được chấp nhận) cho người ta biết làm thế nào để ghép các history-incremental-search-backward
chế độ giống như emacs vào chế độ vi. Mặc dù điều này là hoàn toàn có thể thực hiện được và có thể là giải pháp phù hợp với bạn, nhưng có một điều kỳ lạ là không ai đã đề cập đến cách vi phạm lịch sử tìm kiếm.
chế độ vi trong zsh hỗ trợ lịch sử tìm kiếm bằng các phím vi / vim tiêu chuẩn: /
và ?
, cả hai đều có sẵn trong chế độ lệnh. (Nhấn <Esc>
để chuyển từ chế độ chèn sang chế độ lệnh, giống như trong vi hoặc vim.)
Tuy nhiên, ý nghĩa của chúng bị đảo ngược: Vì bạn thường muốn tìm kiếm lịch sử của vỏ của mình theo chiều ngược lại, /
thực hiện tìm kiếm ngược trong khi ?
tìm kiếm chuyển tiếp.
Khi các hit đầu tiên được hiển thị, bạn có thể (giống như trong vi / vim) sử dụng n
để tiếp tục tìm thêm lượt truy cập trong cùng một hướng, hoặc N
để đảo ngược sự chỉ đạo của tìm kiếm.
Các tổ hợp phím mặc định có liên quan trong vicmd
sơ đồ bàn phím là:
"/" vi-history-search-backward
"?" vi-history-search-forward
"n" vi-repeat-search
"N" vi-rev-repeat-search