自宅のubuntu-16.04マシンのシェルをfishに変更した

自宅のubuntu-16.04マシンのシェルをfishに変更したので手順をメモしておきます。

また、pecoとの連携もしていきます。

fish をインストール

sudo apt-add-repository ppa:fish-shell/release-2
sudo apt-get update
sudo apt-get install fish

apt-add-repository コマンドがない場合は以下の手順で導入します。

sudo apt-get install apt-file
sudo apt-file update
sudo apt-get install software-properties-common

fish をデフォルトシェルにする

追記:

fish はデフォルトシェルにしないほうが良いんじゃないかなー。というのをこちらのエントリーに書きました。 良ければ見てください。 fish をデフォルトシェルに設定しない - takapiのブログ

chsh -s /usr/bin/fish

端末を開き直し、 echo $SHELL コマンドで確認します。

echo $SHELL
/usr/bin/zsh

あれ・・・

GUI環境の場合は一度ログアウトしてあげる必要がありそうです。

echo $SHELL
/usr/bin/fish

fishになっていることを確認しました。

fish の基本設定

config ディレクトリを作成します。

mkdir -p ~/.config/fish

初期設定ファイルを作成します。

vim ~/.config/fish/config.fish

~/.config/fish/config.fish へ以下のようにPATHを追加します。

set -g -x PATH /usr/local/bin $PATH

oh-my-fish をインストール

git がない場合はインストールしておきます

sudo apt-get install git

以下のcurlコマンドで oh-my-fish をインストールします。 ※直接シェルスクリプトを実行するので、中身は必ず確認しておいてください。

curl -L http://get.oh-my.fish | fish

以下のコマンドを打つと、ブラウザが立ち上がり、 fishの設定をGUIで変更できるようになります。

fish_config

私は、 colorfish defaultpromptAcidhub にしました。

peco をインストール

cd ~
wget https://github.com/peco/peco/releases/download/v0.5.1/peco_linux_amd64.tar.gz
tar zxvf peco_linux_amd64.tar.gz
sudo cp peco_linux_amd64/peco /usr/local/bin/
sudo chmod 777 /usr/local/bin/peco

peco と fish の連携

こちらの記事を参考にしました。 https://www.key-p.com/blog/staff/archives/105041

pecoプラグインをインストールします。

omf install peco

~/.config/fish/config.fish に以下を追加します。

#peco
function fish_user_key_bindings
    bind \cr peco_select_history
end

コンソールを開き直すなどし、設定ファイルを読み直したあとに Ctrl + r を押すといい感じに履歴とpecoが連携してくれます。

以上で、fish、pecoのインストールは完了です。

参考サイト