fishシェルがとても素晴らしかったので、お伝えします。

どもメガネです。最近では、もろもろ作業をはじめるために、まず黒い画面を開く程度になった私です。そんな私が最近、おしえてもらって便利だったシェルがfishシェルです。

シェルってなんだよ?という方にはWikipediaをどうぞ

つまりは、黒い画面を動かすときのインターフェイスですね。分かり難いですが、そういうことです。じゃあどういう具合にfashシェルが便利なのかをお伝えしていきましょう。

インストールが簡単

homebrewでインストールできるので簡単ですね。

ほとんど設定しなくていい

.bashrc とか .bash_profile とかそういったのをほとんど触らなくていいです。
後述しますが私が追加したのは2つぐらい。楽ちんですね。

秀逸な候補提案

数文字打てば候補がでる!
※ 画像は公式サイトから流用

ディレクトリを移動するときや、なにかしらコマンドを書くときなど、履歴から提案をしてくれます。しかも半透明で見える感じで提案してくれますね。賢いやつです。

とりあえずタブ押せばいろいろ出る

例えば

[code lang=text]
$git
[/code]

としてtabを押せば下記のようにぶわーとコマンドを出してくれます。

tab

ほかにも

[code lang=text]
$git branch
[/code]

で、tabを押せばブランチ名が列記されます。

[code lang=text]
$cd
[/code]

で押せば、移動できる階層名が列記されます。

便利ですね。

矢印キーの上下で出る履歴が賢い

を押すと、これまでのコマンドの履歴が出るわけですが、そこを絞り込んで履歴表示できます

[code lang=text]
$git push origin
[/code]

で、 を押すと、これまでにpushしたブランチ名が順番に表示される具合です。便利ですね。

ナイスなテーマを選べる

フレームワークの oh-my-fish を一緒にインストールすると、素敵なテーマが選べますね。

テーマはこちらから選べます。
私はyimmyを選びました。

釣り針みたいなプロンプト
※ 画像は同リポジトリから流用

今いる場所や、ブランチ名も表示されるので便利ですね。これらの機能だけでも十分に便利でとても嬉しくなりました。さてここからは、これに追加した私の設定です。fishシェルでの設定は

[code lang=text]
~/.config/fish/config.fish
[/code]

に書きます。追加したのは以下のとおり、テーマ設定以外はエイリアスだけですね。

[code lang=text]
# Themeの設定
set fish_theme yimmy

# sublimetext3を現在のディレクトリをプロジェクトとして開く
# commandは sb . とかで今のディレクトリをプロジェクトとして開く
alias sb="/Applications/Sublime\ Text.app/Contents/SharedSupport/bin/subl"

# viでもvimで開く
alias vi='/usr/bin/vim'

## rmでゴミ箱に入れる
alias rm='rmtrash'
[/code]

最後のは rm でファイルを削除した時に本当に消すのではなくて、ゴミ箱に入れるものです。

うっかり者の私は、大事なファイルを消すことも有りますからね、戻せるようにしているわけですね。ということで、本当に設定が簡単で賢いシェル fishシェルのご紹介でした。

もっと便利機能があれば教えて下さい。ではまた。