.zshrc 구성이 주어지면:
bindkey -v
bindkey "^R" history-incremental-pattern-search-backward
빈 프롬프트에 입력 하면 foo<^R>bar
가장 최근에 일치하는 명령을 검색합니다 bar
.
^R이 기존 프롬프트 입력을 사용하도록 하려면 어떻게 해야 합니까? 즉, 일치시키려는 키의 순서입니다 foobar
.
답변1
^R
에 바인딩하면 history-beginning-search-backward
가까워지지만 패턴 검색은 아닙니다.
^R
행의 현재 내용을 초기 검색 패턴으로 추가하는 함수에 바인딩할 수 있습니다 .
history-incremental-pattern-search-backward-from-line () {
zle history-incremental-pattern-search-backward $BUFFER
}
zle -N history-incremental-pattern-search-backward-from-line
bindkey -M viins "^R" history-incremental-pattern-search-backward-from-line
bindkey -M vicmd "^R" history-incremental-pattern-search-backward-from-line
bindkey -M isearch "^R" history-incremental-pattern-search-backward
isearch
( 맵 에 바인딩해야 합니다 . 그렇지 않으면 ^R
현재 검색을 반복하지 않고 지금까지 찾은 행을 기반으로 반복 검색이 수행됩니다.)