【Mac】ターミナル設定(iTerm2 + fish + fisherman)


■環境

iTerm2 3.2.5
fish 2.7.1
fisherman 3.1.1

■参考サイト

fish shell を使いたい人生だった


ターミナルのシェルをiTerm2 & fishにする手順です。
デフォルトである程度便利機能が入っているので、zshでカスタマイズするのが面倒な人におすすめです。

iTerm2インストール

公式ページよりzipをダウンロードします。
https://www.iterm2.com/downloads.html

ダウンロードしたzipを解凍すると「iTerm」というファイルが出てくるので、それをアプリケーションにドラッグ&ドロップします。
これでLanchPadから起動できるようになりました。

iTerm2の配色変更

iTerm2のデフォルトのままの色だとディレクトリが見づらかったりするので配色を変えます。
iTerm2のメニューバーより
iTerm2 > Preferences > Profiles > Colors とクリックしていき
そこの Color Pareset より好きなテーマを選びます。

配色設定ファイルをダウンロード設定することもできます。
私の場合は『Japanesque』という配色をよく使っています。
https://github.com/aereal/dotfiles/tree/master/colors/Japanesque

この『Japanesque.itermcolors』をiTerm2で開くと、上記の Color Paresetの選択肢に
Japanesque が追加されます。

fish インストール

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

$ brew install fish  

fishのパスを確認する。

$ which fish  
/usr/local/bin/fish  

上記パスをシェル一覧に追記する

$ sudo vi /etc/shells  
〜末尾にwhichコマンドで確認したパスを追記する〜  

シェルをfishに変更する

$ chsh -s /usr/local/bin/fish  

これで、ターミナルを再起動するとfishが立ち上がります。

fisherman インストール

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

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

$ curl -Lo ~/.config/fish/functions/fisher.fish --create-dirs https://git.io/fisher  

上記コマンド実行時にバージョン情報が出なかった場合は、一度ターミナルを再起動すると良いです。

fishのテーマ変更

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

私は「bobthefish」というテーマを利用しており、以下手順でインストールしています。

$ fisher add oh-my-fish/theme-bobthefish  
$ git clone https://github.com/powerline/fonts.git  
$ fonts/install.sh  
$ rm -rf fonts  

上記コマンド実施後、iTerm2のプロファイルを設定します。
プロファイル設定画面にて「Text>Font>ChangeFont」をクリックしてください。

CollectionでAll Fontsを選択し、「○○○ for Powerline」というフォントの中から好きなものを選んでください。
個人的には「Meslo LG M for Powerline」が好きです。
フォントサイズも必要に応じて好きなサイズに変更してください。

これで、テーマの変更は完了です。

プラグイン追加

プラグインは色々ありますが
私が入れているプラグインを紹介しておきます。

z

過去の履歴からディレクトリを選択して遷移できるようになります。
【インストール方法】

$ fisher add z  

【使い方】
z {文字列} まで入力してタブを押下する。
上記の{文字列}で履歴からディレクトリ検索をして遷移できる。
{文字列}を空にしておけば直近の履歴が表示される。

bd

親以上のディレクトリ(祖先ディレクトリ?)への遷移が簡単になる。
【インストール方法】

$ fisher add 0rax/fish-bd  

【使い方】
$ bdと入力してタブを押すと、親ディレクトリの一覧が表示されるので
選択してエンターを押すだけで移動できる。

peco

コマンド履歴の検索が容易にできるようになる。

【インストール方法】

$ brew install peco  
$ fisher add oh-my-fish/plugin-peco  

上記コマンド後、fishのコンフィグファイルへ以下を記載。

vim ~/.config/fish/config.fish  
〜以下を追記(ファイルがなければ新規作成)〜  
function fish_user_key_bindings  
  bind \cr 'peco_select_history (commandline -b)'  
end  

※「function fish_user_key_bindings」の定義が既にされているなら、
その中にbind〜の行だけ追記すれば良い。

上記完了後、ターミナルを再起動してください。

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

ghq

gitの管理が容易になるプラグイン

【インストール方法】

$ brew install ghq  
$ fisher add yoshiori/fish-peco_select_ghq_repository  

上記コマンド後、fishのコンフィグファイルへ以下を記載。

vim ~/.config/fish/config.fish  
〜以下を追記(ファイルがなければ新規作成)〜  
function fish_user_key_bindings  
  bind \c] peco_select_ghq_repository  # 追加  
end  

※「function fish_user_key_bindings」の定義が既にされているなら、
 その中にbind〜の行だけ追記すれば良い。
 例えば、もし上記のpecoも導入しているのであれば、config.fishの記載は以下のようになる。

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

上記完了後、ターミナルを再起動してください。

【使い方】
「Ctrl + ]」でghqで管理しているgitリポジトリの選択ができます。
gitリポジトリを選択すると、該当リポジトリのディレクトリへ遷移します。

ghqコマンドの使い方は割愛するので、別途調べてください。