zsh는 tcsh와 유사한 기록 탐색입니다.

zsh는 tcsh와 유사한 기록 탐색입니다.

에서 및 명령은 첫 번째 tcsh단어 뿐만 아니라 현재 줄의 공백 정규화 접두사를 고려합니다.\eP\eN

예를 들어, 내 기록에 다음이 포함되어 있다면

git pull upstream feature-dancing-pigs
git clone

나는 들어간다

% git pull

그런 다음 을 입력하세요 \eP. tcsh이해합니다.

% git pull upstream feature-dancing-pigs

을 입력하면 명령과 일치하는 기록 항목이 표시됩니다 \eP.zsh

% git clone

zsh해당 동작을 시뮬레이션하도록 구성하고 싶습니다 tcsh. 가능합니까?

zsh기본 emacs 키 구성을 사용해 보았고 명시적으로

bindkey "\eP" history-search-backward

그것은 밝혀

bindkey "\eP" history-beginning-search-backward

^[원래 방금 대신 사용했던 예상 동작이 있습니다 \e.

답변1

zshcontrib함수는 호출에 기록되며 up-line-or-beginning-search실행하여 볼 수 있습니다.

man zshcontrib | less '+/^\s*up-line-or-beginning-search'

이러한 위젯은 내장 함수 up-line-or-search 및 down-line-or-search와 유사합니다. 여러 줄 버퍼에 있는 경우 버퍼 내에서 위 또는 아래로 이동하고, 그렇지 않으면 일치하는 항목을 검색합니다. 라인의 시작. 현재 행. 그러나 이 경우에는 라인을 검색합니다.현재 줄을 현재 커서 위치까지 일치시킵니다., 기록의 처음부터 앞으로 검색하여줄의 첫 번째 단어 대신.

ZLE FUNCTIONS이 섹션 상단에 제공된 지침을 보면man zshcontrib

ZLE 함수
위젯
이 함수는 대화형 셸의 키 입력에 바인딩될 수 있는 사용자 정의 ZLE 위젯(zshzle(1) 참조)을 구현합니다. 이를 사용하려면 .zshrc에 다음 형식의 줄이 포함되어야 합니다.
autoload function
zle -N function

개인적으로 위의 지침을 따랐지만 이제 그럴 필요가 없을 수도 있습니다...~/.zshrc

# register the function with the autoloader
autoload -U up-line-or-beginning-search
# define new zle widget
zle -N up-line-or-beginning-search
# bind UP key
[[ -n "${key[Up]}" ]] && bindkey "${key[Up]}" up-line-or-beginning-search

관련 정보