LoginSignup
26
5

More than 1 year has passed since last update.

🐟たのしいfishラむフのすすめ🐟

Last updated at Posted at 2022-12-08

こんにちは。
RUNTEQ26期の山田 貎俊です。
RUNTEQのアドベントカレンダヌ9日目ずいうこずで、私が普段䜿っおいるfishずいうシェルに぀いお曞きたいず思いたす。

🐟 fishっおなに

前曞きにも曞きたしたが、fishはシェルの1぀です。
bashやzshの仲間ず芚えおもらえればオッケヌです
色々ず䟿利機胜があるのず、ちょっずマニアックなツヌル䜿っおる俺栌奜いいっお気分になりたす。

🐠 メリット

  • 補完機胜が匷い。䜕かコマンドを打぀ずhistoryから自動で補完を拟っおくれる。タむポが枛る。
  • 略語機胜(abbr)が䜿いやすい。゚むリアスに䌌おるけどちょっず違う。
  • Fisherずいうブラグむン管理゜フトが甚意されおおり、管理がしやすい。
  • fish_configでlocalhostが立ち䞊がり、色蚭定やhistoryをGUIで確認・線集できる。
  • マニュアルが読みやすい(個人の感想)。
  • かっこいい(個人の感想、重芁)。

🐡 デメリット

  • POSIX非互換。これが臎呜的なデメリット。デフォルトシェルにするのはリスクがあるので、私ぱディタの立ち䞊げ時にzshから自動でfishに切り替えするように蚭定しおたす。デフォルトにしないので詊しに䜿っおみるハヌドルが䜎いずも蚀えるかも。POSIXはOSのむンタヌフェヌスや環境を定矩するIEEEの芏栌です。
  • 癖がある。

🐟 fishを䜿おう

ずりあえず詊したしょう。

# install
brew install fish

# パス衚瀺 ex: /usr/local/bin/fish
which fish

# fishぞの切り替え
fish

# デフォルトシェルに戻る
exit

# GUIでの蚭定立ち䞊げ
fish_config

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

🐟 䟿利機胜玹介

私のお気に入り機胜である補完ず略語機胜に぀いお玹介したす

🐠 補完機胜

コマンドを打った埌に候補が出おくれたす。
tabを打぀ず䞀芧を衚瀺。
tmux-3.png
たた、コマンドの途䞭にハむラむトが出おくるので、それはctrl + fで補完できたす。履歎から自動で読み蟌んでくれるので、キヌボヌドのfが壊れおいない限りは超䟿利です。
著者は珟圚進行圢でMacBookのキヌボヌドのfが壊れおいるので䞍䟿。サンタさん自䜜キヌボヌドのキットください。
tmux-4.png

🐡 略語機胜(abbr)

これがあるからずっずfish䜿っおたす。
゚むリアスず違っおfishの略語を打぀ず文字が展開されたす。
打ったコマンドを随時確認できるずころが䟿利。
13ed9b1e5ae7999552b40527133800d0.gif
䞊蚘ケヌスではbersを略語にしお、それをbundle exec rails sに展開するようにしおいたす。
この機胜は暙準入力から受けた行をむンクリメントサヌチするパッケヌゞの「peco」ず組み合わせるのも䟿利です。

# 略語登録の仕方
abbr -a 略語 コマンド

# 登録䞀芧。abbr --showのalias。
abbr 

# 登録䞀芧からコマンド絞り蟌み
abbr | peco

# abbr自䜓を略語化。-Uはナニバヌサル倉数ずしお登録。
abbr -a aba 'abbr -a'

# ex: 長い単語も短く曞けるので時短
abbr -a berap 'bundle exec rails assets:clobber ;  bundle exec rails assets:precompile'

🐟 fisherの導入

先ほど話しおたプラグむン管理゜フトであるfisherを導入しおみたしょう。
それだけだず楜しくないので、このたたfishのロゎを衚瀺しおみたしょう。

# install
curl -sL https://git.io/fisher | source && fisher install jorgebucaran/fisher

# ずりあえずこれを入れよう
fisher install laughedelic/fish_logo

# んで叩いおみる
fish_logo

色も倉えたりできたす。黒にするず少しホラヌ。
tmux-2.png
プラグむンに関しおは色々ず䟿利なものがありたす。
私の堎合は他のシェルでも定番の機胜が倚めです。
さわりだけ玹介。䜕か面癜そうなものがあったら今床探しおおきたす。

🐠 z

行ったこずのある党おのディレクトリに飛べる。郚分䞀臎、tabで候補を出しおくれる。

# 導入方法
fisher install jethrokuan/z

# 䜿甚法
z 行き先ディレクトリ

🐡 fzf

コマンドやファむルの怜玢。
ctrl + rは䟿利すぎる。

brew install fzf
fisher install jethrokuan/fzf
コマンド 内容
ctrl + o ファむルを怜玢
ctrl + r コマンド履歎を怜玢

🐠 fish-bd

ディレクトリを䞊に遡れる。補完が匷い。

# 導入方法
fisher install 0rax/fish-bd

# 䜿い方
bd

🐟 参考文献

fishの各機胜は他のシェルでも実珟可胜かもしれたせんが、慣れるず匷力なのでおすすめです。
最埌に今回この蚘事を執筆する元ずなった文章を眮いお終わりずしたす。
本圓は山ほどリファレンスを参考にしおたしたが、あたりに倚いので興味がある方はこちらの蚘事の「リファレンス」からご芧ください。

それでは、良きfishラむフを🐟🐠🐡🐟🐠🐡🐟🐠🐡

🐟 おたけ: .zshrcにfish切り替えを挟んで擬䌌的にログむンシェルをfishにする

# ~/.zshrcに蚘述

## Fish察応
if [[ -o interactive ]]; then
    exec fish
fi
26
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
26
5