ターミナルの操作を快適にする2つのツール

ターミナルの操作で普段からよく使っている2つのツールを紹介します。

環境

1. peco

github.com

Simplistic interactive filtering tool ということでフィルタリングツールです。 主にコマンドの履歴を探すのに使っています。 インクリメンタルサーチができるので目的のコマンドを大変見つけやすいです。 peco コマンドはパイプで渡すと渡されたものを検索できるようになります

例)

$ ps aux | peco

インストール

Homebrew で簡単にインストールできます。 go で書かれているのであわせてインストールされます。

$ brew install peco

これで peco のコマンドは使えるようになりました。 しかし、コマンドの履歴でシームレスに使えるようにするために、シェルの設定を追加します。

zsh の場合

function peco-select-history() {
   local tac
   if which tac > /dev/null; then
       tac="tac"
   else
       tac="tail -r"
   fi
   BUFFER=$(\history -n 1 | \
       eval $tac | \
       peco --query "$LBUFFER")
   CURSOR=$#BUFFER
   zle clear-screen
}
zle -N peco-select-history
bindkey '^r' peco-select-history

fish の場合

oh-my-fish, fisherman 等で plugin を入れておくと楽です。

# oh-my-fish
$ omf install peco
# fisherman
$ fisher oh-my-fish/plugin-peco

以下をシェルの設定に書きます。

function fish_user_key_bindings
  bind \cr 'peco_select_history (commandline -b)'
end

使用方法

ctrl + r でコマンド履歴を検索できます。

2. z

github.com

ディレクトリを簡単に移動できるツールで、他には autojump などがあります。 以前は autojump を使っていましたが、z に移行しました。

インストール

$ brew install z

シェルの設定を追加します。

zsh の場合

. /usr/local/etc/profile.d/z.sh

fish の場合

oh-my-fish, fisherman 等で plugin を入れておくと楽です。

# oh-my-fish
$ omf install z
# fisherman
$ fisher z

使用方法

$ z hoge
$ zo hoge

zhoge というワードで一番マッチしたディレクトリに移動します。 zohoge というワードで一番マッチしたディレクトリを finder 等で開きます。

autojump は標準ではコマンドが j なので、 j に慣れている場合は割り当てちゃいましょう。