oh-my-zsh 히스토리 완료


45

나는 robbyrussell 's를oh-my-zsh 사용하여 최근에 zsh로 전환했습니다 . 그 전에 나는 많은 커스텀 물건과 함께 bash를 사용했고 zsh가 '너무 똑똑해'려고하기 때문에 한 가지만 누락되었습니다.

내가 입력 git commit한 다음 zsh는 모든 최근 git명령을 거 칩니다 . 내가 정말로 원하는 것은 git commit(뿐만 아니라 git)로 시작하는 모든 명령을 수행하는 것 입니다.

(oh-my-) zsh에서이 동작을 어떻게 달성 할 수 있습니까?


이상하게도 OMZSH를 사용하며 다음과 같이 작동합니다. zshrc에 'plugins = (git)'이 있습니까?
Chris2048

네,하지만 git 전용이 아니며 모든 명령이 이런 식으로 완료됩니다.
Patrick Oscity

답변:


66

ZSH 설명서 에서 내 문제에 대한 해결책을 찾았습니다 . Oh-my-zsh는 키 키를

bindkey '\e[A' history-search-backward
bindkey '\e[B' history-search-forward

위에서 설명한 정확한 동작을 산출합니다. zsh을 문서는의 동작 설명 history-search-backward등을

버퍼에서 첫 번째 단어로 시작하는 행을 히스토리에서 뒤로 검색 하십시오 .



대신 내가 원했던 것은 다음 매핑이었습니다 ~/.zshrc.

bindkey '\e[A' history-beginning-search-backward
bindkey '\e[B' history-beginning-search-forward

동작은 history-beginning-search-backward다음과 같습니다.

히스토리 에서 현재 줄부터 시작하여 커서까지 줄을 찾습니다 . 커서를 원래 위치에 둡니다.

또한 \e[A위 또는 아래 화살표로 작동하지 않으면 <ctrl-v><KEY (e.g., up arrow)>을 제공하는 다른 터미널을 누르십시오 ^[OA. 그런 다음 대신 사용할 수 있습니다 \e[A. 프로세스는 여기에 설명되어 있습니다 : http://zshwiki.org/home/zle/bindkeys


1
감사합니다 감사합니다 감사합니다 !! 나는 이것을
망설이고 있었다

나와 같은 비 OMZ 사용자의 경우 : bindkey버그로 인해 실제 작업을 수행하지 않으므로 OMZ 팀은 이 플러그인으로 패치했습니다 . 간단히 다운로드하여 소스를 만드십시오 bindkey.
Franklin Yu

@FranklinYu 당신은 그게 총 BS인지 알고 있습니까? 해당 플러그인은 이벤트를 잡기 위해 USE를 제외하고 bindkey로 아무것도하지 않습니다.
nonchip

와, 이건 완벽 해!
다람쥐

12

oh-my-zsh설치된 플러그인과 zsh에 대해 동일한 동작을 원했습니다 history-substring-search.

내 플러그인을 추가하여 위에서 설명한 것과 동일한 동작을 달성했습니다 ~/.zshrc.

plugins=(git brew npm history-substring-search)

이 질문이 제기되었을 때이 플러그인이 다시 존재하지 않았다고 생각합니다. 같은 것을 달성하는 다른 방법.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.