Làm cách nào để bật tìm kiếm ngược trong zsh?


37

Gần đây tôi đã chuyển sang zsh (cuối cùng) và đang yêu nó! Cho đến nay, một điều mà tôi đang thiếu là Ctrl+ Rthực hiện tìm kiếm lịch sử gia tăng.
Tôi có lịch sử được thiết lập đúng

HISTSIZE=10000
SAVEHIST=10000
HISTFILE=~/.zsh_history

và tôi đã sử dụng vicác ràng buộc chính

bindkey -v

Nhưng Ctrl+ Rkhông hoạt động. Nó loại bỏ dòng trên dòng hiện tại, đây không phải là hành vi cần có trong vim.

Bất kỳ đề xuất?


1
btw một công việc nhanh chóng là sử dụng tìm kiếm không tăng dần: Ctrl+ [ /...
maxschlepzig

Câu trả lời:


59

Nếu tôi nhớ lại một cách chính xác, bạn cần đặt nó một cách rõ ràng, ngay cả với bindkey -v. Sử dụng một cái gì đó như thế này:

bindkey -v
bindkey '^R' history-incremental-search-backward

4
có lẽ history-incremental-pattern-search-backwardlà một hành động thay thế để sử dụng trong bối cảnh đó.
maxschlepzig

2
@maxschlepzig xin lỗi sự khác biệt giữa hai là gì?
Ali

2
@Ali, với -pattern- phiên bản bạn có thể sử dụng tìm kiếm mô hình (mà phong cách, tức là globbing hoặc regex () phụ thuộc vào các phần khác của zsh-cấu hình của bạn?) - như ví dụ như bạn có thể sử dụng tìm kiếm mô hình fo*barvới grepđể phù hợp ' fobar ',' foobar ',' fooobar ', v.v.
maxschlepzig

3
Tôi đã nhận được một lỗi. Bao bọc ^ R trong dấu ngoặc kép đã làm điều đó. bindkey "^R" history-incremental-pattern-search-backward
Ramon Tayag

1
bindkey -vphải đi trướchistory-incremental-search-backward
Deniz
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.