Go 언어 개발 환경을위한 ghq + peco 설정 절차 (macOS, bash 용)

4222 단어 5GhqBashPeco

개요



본 기사에서는 bash용 ghq+peco의 도입 방법을 소개합니다.

전제


  • Homebrew 포함
  • Git 포함
  • mac에서 개발하고 있습니다

  • 내가 확인했을 때 bash 버전은 3.2입니다.

    peco란?



    표준 입력으로 주어진 정보로부터 행을 좁히고, 표준 출력에 출력하는 것뿐입니다.
    이렇게 말하면 어렵게 느낄지도 모릅니다만, 실제로 도입하는 것은 간단하고, 매우 단순한 것입니다.
    아래로 나아가면 도입 예도 소개하고 있으므로, 꼭 시험해보세요!

    GitHub - peco/peco: Simplistic interactive filtering tool

    peco 설치



    다음 명령으로 peco를 설치합니다.brew install peco

    ghq란?



    Go 언어의 파일 구성의 작법에 맞게 git clone (ghq clone) 해주는 도구입니다.

    GitHub - motemen/ghq: Remote repository management made easy

    ghq 설치



    다음 명령으로 ghq를 설치합니다.brew install ghqgit config --global ghq.root $GOPATH/src

    peco와 ghq를 함께 사용해보십시오.



    ghq get으로 복제 된 디렉토리 목록을 표시하고 선택한 디렉토리로 이동하는 기능을 설정하고 Control + g로 이동하도록 시도합니다.

    .bashrc
    function ghql() {
      local selected_file=$(ghq list --full-path | peco --query "$LBUFFER")
      if [ -n "$selected_file" ]; then
        if [ -t 1 ]; then
          echo ${selected_file}
          cd ${selected_file}
          pwd
        fi
      fi
    }
    
    bind -x '"\201": ghql'
    bind '"\C-g":"\201\C-m"'
    

    쓰고 저장하면 읽을 수 있습니다.source ~/.bashrcControl+g 에서 제대로 움직이는지 확인.



    이런 느낌이 되면 성공입니다! !
    필터링 기능도 있으므로 꼭 사용해보십시오.

    이제 ghq get으로 복제 한 디렉토리 목록이 표시되었으며 선택하기 만하면 쉽게 저장소로 이동할 수있었습니다.

    ※소스 코드는, ghq + peco에서 유용한 함수 (bash) - 어떤 육아 아빠의 일기 를 참고로 했습니다.
    위 사이트의 소스 코드에서는 마지막 줄에서 잘 바인딩되지 않았고 명령을 친 후 리턴 키를 누르지 않으면 현재 디렉토리의 표시가 반영되지 않았기 때문에 그 부분을 잘 작동하도록 다시 씁니다. (참고 사이트 Redrawing prompt in Bash : linuxquestions)



    방금 설정한 peco의 기능을 좀 더 편리하게 해 봅시다.

    peco 디렉토리 만들기
    mkdir ~/.peco
    config.json 파일 만들기
    touch ~/.peco/config.json
    config.json 파일을 편집기에서 열고 다음을 작성하고 저장합니다.

    .peco/config.json
    {
        "InitialFilter": "Fuzzy"
    }
    

    이제 이전 peco의 필터링 기능에 모호한 검색 기능이 추가됩니다.
    입력한 문자열과 일치하는 디렉토리를 좁혀줍니다. 편리~!


    결론



    이번 기사는 여기까지입니다.
    그 밖에도 peco로 편리한 일을 많이 할 수 있으므로, 또 기사로 하려고 합니다.
    (peco에 대해 자세한 쪽이 계시면 꼭 가르쳐 주셨으면 합니다!)

    좋은 웹페이지 즐겨찾기