답변:
마침내 올바른 주문을 찾았습니다. 삽입 모드에서 패턴 검색을 맵핑해야합니다. 이것은 내가 잃어버린 조각이었습니다.
# Search backwards and forwards with a pattern
bindkey -M vicmd '/' history-incremental-pattern-search-backward
bindkey -M vicmd '?' history-incremental-pattern-search-forward
# set up for insert mode too
bindkey -M viins '^R' history-incremental-pattern-search-backward
bindkey -M viins '^F' history-incremental-pattern-search-forward
^B
삽입 모드에서 역방향 검색에 사용 했지만 다른 것으로 매핑했습니다. 지금 그래서 ^R
및 ^F
주기 일치를 통해.
-M keymap
받는 바인딩을 적용 키 맵을 bindkey을 알려줍니다. 삽입 모드와 명령 모드 모두에 대해 설정했습니다.
bindkey '^R' history-incremental-pattern-search-backward
있으며 작동합니다. 또한 /
zsh의 vi 일반 모델에서 기본 명령을 사용합니다 . 나는 명령 기록을 검색 할 수 있으며 명령을 찾으면 명령 줄에 명령을 제공합니다. 그런 다음 필요한 경우 마지막 명령을 수정할 수 있습니다.
'^R' history-incremental-pattern-search-backward
, 다른 한편으로는, 그냥 검색 문자열과 일치하는 마지막 명령에 나를 착륙합니다. 그러나 실제로 명령을 편집 할 수있는 방법을 찾지 못했습니다. incremantal 후두둑 검색을 통해 검색 문자열과 일치하는 적절한 명령을 찾은 후 명령을 편집 할 수 있도록 키를 누를 수있는 특정 키 조합이 있습니까?
zshzle
zsh 4.3.10 의 매뉴얼 페이지에 따르면 기본적으로 키가 없습니다. isearch
맵 에 바인딩을 추가해야 하며 몇 개의 위젯 만 사용할 수 있습니다. 예를 들어 다음을 수행 할 수 있습니다.
bindkey -M isearch '^R' history-incremental-search-backward
bindkey -M isearch '^S' history-incremental-search-forward
bindkey -l
isearch
매핑을 표시하지 않습니다
isearch
4.3.10의 새로운 기능이지만 history-incremental-pattern-search-backward
4.3.7에 나타났습니다 (변경 로그를 올바르게 읽으면).
-M
명령은 무엇입니까? 내 경우에는-M
키워드가 없어도 잘 작동합니다.