mieki256's diary



2021/05/01() [n年前の日記]

#1 [pc] pecoを導入してみた

Ubuntu Linux 20.04 LTS上で端末を開いて、あっちこっちのディレクトリに移動するのがツライ。peco と pcd を使って楽になりたい。導入を試みた。

peco は、インクリメンタルサーチができるツール。Go言語で作られていて、1ファイルで動作する。Windows や Linux 上で使える。

_peco/peco: Simplistic interactive filtering tool

pecoをインストール。 :

Ubuntu Linux 20.04 LTS上でインストール。apt でインストールできる。ただし、apt で入る版は、最新版ではなくて、ちょっと古い版らしい。
sudo apt install peco
$ peco --version
peco version v0.5.1

最新版を使いたい場合は以下から入手。

_Releases - peco/peco

peco_linux_amd64.tar.gz をDLして、tar xvf peco_linux_amd64.tar.gz で解凍すると、中に peco という実行ファイルが入っているので、PATHが通っている場所に置く。

Windows上でインストールしたい場合は、以下を入手。
  • 64bit版 : peco_windows_amd64.zip
  • 32bit版 : peco_windows_386.zip
解凍すると peco.exe が入ってるので、PATHの通っている場所に置く。

pcdを導入。 :

pcd は、peco を利用してディレクトリ移動を楽にするバッチファイル。もしくは、bashで利用できる関数。

Windows版は以下で入手できる模様。pcd.bat を作って、PATHの通った場所に置く。

_Big Sky :: Windows のコマンドプロンプトを10倍便利にするコマンド「peco」
_Windows のコマンドプロンプトで便利なコマンド「pcd」のマルチバイト対応と空白文字対応 - hirocueki's blog

Linux版は以下で入手できる。

_pecoを使ってフィルタリング&ディレクトリ移動 - Qiita

Ubuntu Linux 20.04 LTS 上で設定してみた。

まずは、登録リストファイル、~/.peco/.peco-cd ファイルを作成しておく。
mkdir ~/.peco
touch ~/.peco/.peco-cd

~/.bashrc に以下を追記。環境変数 $EDITOR が設定されてないと pcd edit が使えないのだけど、Ubuntu Linux は標準状態だと $EDITOR が設定されてないので若干修正してある。
function pcd() {
  local PCD_FILE=$HOME/.peco/.peco-cd
  local PCD_RETURN
  if [ $1 ] && [ $1 = "add" ]; then
    if [ $2 ]; then
      ADD_DIR=$2
      if [ $2 = "." ]; then
        ADD_DIR=$(pwd)
      fi
      echo "add $ADD_DIR to $PCD_FILE"
      echo $ADD_DIR >> $PCD_FILE
    fi
  elif [ $1 ] && [ $1 = "edit" ]; then
    if [ $EDITOR ]; then
       $EDITOR $PCD_FILE
    else
       editor $PCD_FILE
    fi
  elif [ $1 ] && [ $1 = "." ]; then
    PCD_RETURN=$(/bin/ls -F | grep /$ | peco)
  else
    PCD_RETURN=$(cat $PCD_FILE | peco)
  fi

  if [ $PCD_RETURN ]; then
    cd $PCD_RETURN
  fi
}

source ~/.bashrc で反映。

使い方は以下。
  • pcd add . で、現在ディレクトリを登録リストに追加する。
  • pcd edit で、登録リストファイルを編集する。
  • pcd で、登録リストの中からインクリメンタルサーチで絞り込んでディレクトリ移動ができる。

ついでに、peco-lscd というスクリプト(?)も、~/.bashrc に追加してみた。カレントディレクトリの中から絞り込んでディレクトリ移動できる。

_pecoの基礎の基礎 - Qiita

function peco-lscd {
    local dir="$( find . -maxdepth 1 -type d | sed -e 's;\./;;' | sort | peco )"
    if [ ! -z "$dir" ] ; then
        cd "$dir"
    fi
}

これで、ディレクトリ移動が多少楽になった。ありがたや。

以上です。

過去ログ表示

Prev - 2021/05 - Next
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

カテゴリで表示

検索機能は Namazu for hns で提供されています。(詳細指定/ヘルプ


注意: 現在使用の日記自動生成システムは Version 2.19.6 です。
公開されている日記自動生成システムは Version 2.19.5 です。

Powered by hns-2.19.6, HyperNikkiSystem Project