zsh에서 Git 저장소의 파일을 fuzzy search하고 Vim에서 열기

2656 단어 ZshPeco
peco을 사용하면 표준 입력에서받은 텍스트 데이터를 모호하게 검색하여 선택한 행을 표준 출력으로 반환 할 수 있습니다.
$ echo "apple\nbanana\nchocolate" | peco



이것을 이용해, 어느 리포지토리내에 있는 파일 일람을 출력해, peco에 건네주면, 파일명의 fuzzy search(모호 검색)를 할 수가 있다.
$ git ls-files | peco



또한 fuzzy search의 출력 결과를 vim에 전달하는 것과 같은 처리를 peco-vim라는 함수로 정의하고 Ctrl-[에 매핑합니다.

이 소스는 참고 기사에 있는 peco-src를 변경한 것이다.

.zshrc
bindkey '^[' peco-vim

function peco-vim() {
    local src=$(git ls-files | peco --query "$LBUFFER" --prompt "vim>")
    if [ -n "$src" ]; then
        BUFFER="vim $src"
        zle accept-line
    fi
    zle -R -c
}
zle -N peco-vim



상당히 편리하다고 생각한다.

참고


  • ghq에서 리포지토리 관리와 peco 협력으로 편안한 git 생활 - Qiita
  • 좋은 웹페이지 즐겨찾기