CentOS7にfishを入れる


最近人気らしいfishを試しに入れてみました。

■環境

CentOS 7.3
fish 2.3.1

epelリポジトリが入っていない人はインストールします。

yum -y install epel-release

fishをyumでインストールします。

yum -y install fish

今だけfishを使う場合は、コマンドでそのままfishと打ちます。

fish

恒久的にfishを使いたい場合はchshしておきます。

chsh -s /usr/bin/fish {ユーザ名}

 

これでfishが使えるようになりました。


〜参考〜

CentOS6.X系の場合は以下でfishのインストールできるようです。

wget -P /etc/yum.repos.d/ http://download.opensuse.org/repositories/shells:fish:release:2/CentOS_6/shells:fish:release:2.repo  
yum -y install fish  

【oh-my-fishインストール】

ついでにoh-my-fishもインストールします。
CentOS7でyumインストールできるgitのバージョンは1.8系(2017年4月現在)なのですが、
oh-my-fishのインストールにはgit 1.9.5以上が必要なので
ソースからコンパイルします。

ソースからコンパイルする際に必要なものをインストールします。
私の環境では以下でしたが、ここは各環境に合わせてインストールしてください。
ソースからコンパイルする方法を調べれば出てくると思います。

yum install curl-devel expat-devel gettext-devel  openssl-devel zlib-devel perl-ExtUtils-MakeMaker autoconf gettext gcc

ソースコードをダウンロードしてきます

cd /tmp/  
wget https://www.kernel.org/pub/software/scm/git/git-2.9.3.tar.gz  
tar xzf git-2.9.3.tar.gz

※最新のソースは以下で確認
https://www.kernel.org/pub/software/scm/git/

gitをインストールします。
configureのオプション「–with-curl」を付けないと、oh-my-fishインストール時にコケます。

cd git-2.9.3  
make configure  
./configure --with-curl  
make  
make install

『/usr/local/bin』配下にgit系コマンドが配置されるので、
もしPATHを通していない場合は追加する。

set -U fish_user_paths $fish_user_paths /usr/local/bin  
git --version  
git version 2.9.3

最後にoh-my-fishをインストールして完了です。

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

oh-my-fishのインストール詳細についてはこちらを参照してください。
https://github.com/oh-my-fish/oh-my-fish

【pecoインストール】

ついでにpecoもインストールしておきます。

peco本体はgithubからダウンロードし、利用可能な状態にしておきます。

cd /tmp/  
wget https://github.com/peco/peco/releases/download/v0.5.1/peco_linux_amd64.tar.gz  
tar xzf peco_linux_amd64.tar.gz  
mv peco_linux_amd64/peco /usr/local/bin/.  

oh-my-fishでpecoをfishに取り込みます。

omf install peco  

最後にfishのコンフィグファイルを修正します。

vim ~/.config/fish/config.fish  
# 記載する内容  
function fish_user_key_bindings  
    bind \cr peco_select_history  
end  

以上で設定は完了です。