에서 및 명령은 첫 번째 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