ZSH 히스토리 증분 패턴 검색-뒤로 일치 항목 순환


10

최근에는 검색에서 history-incremental-pattern-search-backward패턴을 허용하기 때문에 기록 검색을 사용하도록 전환했습니다 . 내 설정 방법은 다음과 같습니다..zshrc

bindkey -M vicmd '/' history-incremental-pattern-search-backward

이것은 잘 작동하지만 검색 메뉴에서 다음 경기로 이동하는 방법을 알 수 없습니다.

% cat foobarbaz.txt
bck-i-search: f*baz

이를 수행 할 키가 있습니까?

답변:


12

마침내 올바른 주문을 찾았습니다. 삽입 모드에서 패턴 검색을 맵핑해야합니다. 이것은 내가 잃어버린 조각이었습니다.

# 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명령은 무엇입니까? 내 경우에는 -M키워드가 없어도 잘 작동합니다.
alpha_989

-M keymap받는 바인딩을 적용 키 맵을 bindkey을 알려줍니다. 삽입 모드와 명령 모드 모두에 대해 설정했습니다.
claytron

설명 주셔서 감사합니다. 내 경우에는 방금 가지고 bindkey '^R' history-incremental-pattern-search-backward있으며 작동합니다. 또한 /zsh의 vi 일반 모델에서 기본 명령을 사용합니다 . 나는 명령 기록을 검색 할 수 있으며 명령을 찾으면 명령 줄에 명령을 제공합니다. 그런 다음 필요한 경우 마지막 명령을 수정할 수 있습니다.
alpha_989

내가 사용하는 경우 '^R' history-incremental-pattern-search-backward, 다른 한편으로는, 그냥 검색 문자열과 일치하는 마지막 명령에 나를 착륙합니다. 그러나 실제로 명령을 편집 할 수있는 방법을 찾지 못했습니다. incremantal 후두둑 검색을 통해 검색 문자열과 일치하는 적절한 명령을 찾은 후 명령을 편집 할 수 있도록 키를 누를 수있는 특정 키 조합이 있습니까?
alpha_989

9

zshzlezsh 4.3.10 의 매뉴얼 페이지에 따르면 기본적으로 키가 없습니다. isearch맵 에 바인딩을 추가해야 하며 몇 개의 위젯 만 사용할 수 있습니다. 예를 들어 다음을 수행 할 수 있습니다.

bindkey -M isearch '^R' history-incremental-search-backward
bindkey -M isearch '^S' history-incremental-search-forward

bindkey -lisearch매핑을 표시하지 않습니다
claytron

@claytron : 버전 문제 여야합니다 : isearch4.3.10의 새로운 기능이지만 history-incremental-pattern-search-backward4.3.7에 나타났습니다 (변경 로그를 올바르게 읽으면).
Gilles 'SO- 악마 중지

4.3.10을 사용하고 있는데 왜 거기에 없는지 잘 모르겠습니다. 삽입 모드 바인딩을 사용하면 나에게 도움이되었습니다.
claytron
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.