pushd 와 dirs 를 peco 로 조금 편리하게 사용

6일째 담당 @ 츠바사 오가와 입니다. 5일째는 @yk-m씨의 「 iOS11 / iPhone X 대응을 한 이야기 」이었습니다.

이 기사는 다음에 대해 작성되었습니다.


  • Bash에서 pushd 및 dirs를 사용하는 방법
  • peco를 사용하여 둘을 좀 더 편리하게 사용하십시오. tips

  • 해결하고 싶은 것


  • 과거로 이동한 디렉토리로 돌아가고 싶다
  • 오히려 패스의 일부를 잊었다


  • 해결책: pushd 와 dirs



    각 명령에 대해


  • pushd: 기본적으로는 cd 와 같다. 이 외에도 현재 디렉토리의 절대 경로를 스택합니다
  • dirs : 스택 된 목록 표시
  • popd라는 명령도 있지만 이번에는 사용하지 않습니다.

    사용법


    $ pushd /var
    /var 
    
    $ pushd cache/
    /var/cache /var 
    
    (中略)
    
    $ pushd epel/
    /var/cache/yum/x86_64/6/epel /var/cache/yum/x86_64/6 /var/cache/yum/x86_64 /var/cache/yum /var/cache /var 
    
    $ pwd
    /var/cache/yum/x86_64/6/epel
    
    $ dirs -v
     0  /var/cache/yum/x86_64/6/epel
     1  /var/cache/yum/x86_64/6
     2  /var/cache/yum/x86_64
     3  /var/cache/yum
     4  /var/cache
     5  /var
    
    pushd +[番号] 로 단번에 점프할 수 있습니다.
    $ pushd +4
    /var/cache /var /var/cache/yum/x86_64/6/epel /var/cache/yum/x86_64/6 /var/cache/yum/x86_64 /var/cache/yum
    
    $ pwd
    /var/cache
    

    dirs ~ pushd +[번호] 하는 것이 수수하게 귀찮습니다.

    peco를 사용하여 조금 편하게 이동



    peco 정보


  • 친숙한 그 딸입니다. 자세한 내용은 공식 으로

  • .bashrc에 별칭과 함수 추가


  • pushd에 대한 별칭 pd
  • 평소의 이동은 이거

  • pushd + dirs + peco를 사용하는 기능 pds
  • 과거 디렉토리로 돌아가고 싶다면 이것


  • .bashrc
    alias pd='pushd'
    
    # 慣例に習うなら関数名は peco-pushd がいいかも
    function pds() {
      # peco が無ければ何もしない
      ! which peco >/dev/null 2>&1 && echo 'please install peco' 1>&2 && return 1
      # dirs -v の結果を peco でフィルタリングして、キューの番号を取得
      local pushd_number=$(dirs -v | peco | perl -anE 'say $F[0]')
      # peco が強制終了されたら何もしない
      [[ -z $pushd_number ]] && return 1
      # 移動
      pushd +$pushd_number
      return $?
    }
    

    실행 예





    사이고에게


  • 궁리에 따라 아직도 개선의 여지가 있습니다. peco 를 평상시의 작업에 어떻게 짜넣으면 편리합니까? 에 대해 생각하면 즐겁습니다. fzf 판도 시험해보고 싶습니다.
  • zsh 에서는 cd + 보완 기능으로 실현할 수 있는 것 같습니다 ( zsh로 디렉토리 스택을 쉽게 이동 )
  • 참고: 디렉토리 이동은 cd 명령보다 pushd 명령이 더 편리합니다!
  • 그리고 쓰고 나서 알아차리는, 본 기사의 바퀴의 (재^n) 발명감 (더 고급) 참고:
  • 터미널에서 unite.vim 같은 일을하는 peco가 매우 편리합니다.
  • 파일 / 디렉토리를 검색하고 peco가 cd하는 사람 2


  • 내일 7일째는 @에스_에이치씨입니다. 기대하세요.

    좋은 웹페이지 즐겨찾기