【zsh】 아직 history로 소모하고 있는 거야? 커맨드 이력 검색이 진행되는 peco의 설정 방법【oh-my-zsh】

1972 단어 oh-my-zshZshPeco
평소 커맨드 이력을 거슬러 올리고 싶을 때는,history그리고 치거나,ctrl + r라고 생각합니다만,
이것들을 더욱 사용하기 쉽게 하는 방법이 있어 그것이 꽤 편리했으므로 소개시켜 주세요.

환경은 Mac입니다.

설정 후 이런 느낌이 든다



정상 상태에서 ctrl + r를 누르면,



라는 형태로 history 명령으로 표시되는 내용이 즐겁게 표시됩니다.
이 상태에서 ↑나 ↓,ctrl + p , ctrl + n로 마커를 움직여 엔터를 누르면 명령이 터미널에 쳐집니다 (실행되지 않음).
다시 한번 엔터를 누르면 명령 실행이 되므로 이전에 친 명령을 조금 바꾸어 실행하고 싶은 경우에도 대응할 수 있습니다.

또 상기의 ctrl + r 를 누른 상태에서 검색하고 싶은 문자열을 입력하면 그것 필터링한 커멘드 이력을 표시해 줍니다.

또한 원하는 명령을 즉시 찾을 수 없으면 이스케이프 키로 즉시 종료됩니다.

그래서 설정 방법입니다.

설정 방법



peco 설치


brew install peco에 들어갑니다. 간단하네요.

zshrc 편집


vi ~/.zshrc에서 파일을 열고 아래 줄당 다음을 추가합니다.
function peco-history-selection() {
    BUFFER=`history -n 1 | tail -r  | awk '!a[$0]++' | peco`
    CURSOR=$#BUFFER
    zle reset-prompt
}

zle -N peco-history-selection
bindkey '^R' peco-history-selection

OK입니다.

그렇다면,exec zsh -l에서 zsh 재부팅 (다시 로그인)

이제ctrl + r을 누르면 멋진 명령 이력이 멋진 느낌으로 표시됩니다.

fc: event not found: -n 오류가 발생하는 경우



zshrc에 쓴,
BUFFER=`history -n 1 | tail -r  | awk '!a[$0]++' | peco`

부분,
BUFFER=`\\history -n 1 | tail -r  | awk '!a[$0]++' | peco`

그리고 다시 쓰고 zsh를 다시 시작할 수 있습니다.
행복이 가득합니다.

우분투의 경우



이 기사는 Mac 전제로 작성되었지만 자신의 메모로,
우분투의 경우,
BUFFER=`history -n 1 | tail -r  | awk '!a[$0]++' | peco`


BUFFER=`\\history -n 1 | tac | awk '!a[$0]++' | peco`

됩니다.

좋은 웹페이지 즐겨찾기