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
以上で設定は完了です。