【Linux Mint】terminator + fish + fishermanの導入

投稿日:2019-03-10

■環境

Linux Mint 19.1 "Tessa" - MATE (64-bit)


terminator & fishインストール

ソフトウェアマネージャからterminatorとfishをインストールします。
インストール後、反映するため一度ログアウトします。

Terminatorはデフォルトのウィンドウサイズが微妙なので変更した方が良いです。
Terminatorのデフォルトサイズを変更する

fishをデフォルトシェルに設定

$ grep fish /etc/shells  
/usr/bin/fish   ←表示されなかったら`which fish`の結果を/etc/shellsに追記する  
$ chsh -s /usr/bin/fish  

fishermanのインストール

fishermanというfishのプラグイン管理ツールがあります。

fishermanのgithubベージにインストールコマンドが載っています。
https://github.com/fisherman/fisherman

$ curl https://git.io/fisher --create-dirs -sLo ~/.config/fish/functions/fisher.fish  
$ fisher -v  
fisher version 3.1.1 ~/.config/fish/functions/fisher.fish  

テーマの変更

fishはテーマを変更することで見栄えが変えられます。
どのようなテーマがあるかは、以下ページが参考になります。
https://github.com/oh-my-fish/oh-my-fish/blob/master/docs/Themes.md

私は「bobthefish」というテーマを利用しており、以下手順でインストールしています。
PowerLineのフォントが必要なので、そちらもインストールしています。

$ fisher add oh-my-fish/theme-bobthefish     # fisher旧バージョンではfisher addではなくfisher install
$ git clone https://github.com/powerline/fonts.git  
$ fonts/install.sh  
$ rm -rf fonts  

上記コマンド実施後、terminator上で右クリックをして「設定」を開き、
「プロファイル>一般>Font」にてフォントを「○○○ for Powerline」のどれかに変更してください。
フォントを変更できない場合は「システムの固定幅フォントを使う」のチェックを外してください。

個人的には「Meslo LG M for Powerline」が好きです。

その他プラグイン

fishermanを使って他にも様々なプラグインをインストールできます。

■peco

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

apt install peco
fisher add oh-my-fish/plugin-peco

インストール後、fishのコンフィグファイル(~/.config/fish/config.fish)へ以下のように記載します。
fishのコンフィグファイルが存在しない場合は新規作成してください。

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

【使い方】
「Ctrl + R」でコマンド履歴検索画面が開きます。
検索画面では直近のコマンドから選択することもできますし、文字列を入力すれば該当の文字列を含むコマンド履歴に絞ることもできます。

■ghq

ghqをインストールします。
※既にgoの環境があれば go get〜 のコマンドのみでよい。

apt install golang
echo 'set -x GOPATH $HOME/go' >> ~/.config/fish/config.fish
echo 'set -x PATH $GOPATH/bin $PATH' >> ~/.config/fish/config.fish
mkdir -p ~/go/bin
source ~/.config/fish/config.fish
go get github.com/motemen/ghq
fisher add yoshiori/fish-peco_select_ghq_repository

インストール後、fishのコンフィグファイル(~/.config/fish/config.fish)へ以下のように記載します。
上記のpecoの設定に追記する前提としています。

function fish_user_key_bindings
  bind \cr 'peco_select_history (commandline -b)' # peco
  bind \c] peco_select_ghq_repository # ghq
end

【使い方】
ghq get {gitリポジトリ} コマンドで新規gitリポジトリをローカルに取得します。
(git cloneghq getに置き換えるだけ)

「Ctrl + ]」でghqで管理しているgitリポジトリを選択してディレクトリへ移動できます。

関連する記事