デザイナーがfishとzshを使ってみた(^ω^)ペロペロ
この記事はGASHOO Inc. Advent Calendar 2017 12月12日(火)の投稿です。
こんにちは、株式会社ガシューのCDO白石です🐶
今回は、PCを動かしているシェルと呼ばれるものにも色々な種類があるので、それぞれ使ってみて良かったところをシェアしようという試みです。(僕はMacを使うので、Macを使用する前提です)
シェルって何ぞ?
シェル (英語: shell) はオペレーティングシステム (OS) のユーザーのためにインタフェースを提供するソフトウェアであり、カーネルのサービスへのアクセスを提供する。
「シェル」フリー百科事典 ウィキペディア日本語版
いわゆる黒い画面です。普段、ファイルやフォルダの作成・削除などを行っているfinderなどの視覚ツールをGUIというのに対し、ターミナルなど、コマンドを打ち込んでファイルの操作などを行うものをCUIといいます。どちらにせよ、それらの操作はシェルというものを介して行われます。Macでは、お使いのマシンにログインするとbash🏀 と呼ばれるシェルが走ります。今回はこのbash🏀 をfish🐟 やzsh💻 に変更して、どういう恩恵があるか確認していきます。
黒い画面、怖い((((;゚Д゚))))ガクガクブルブル
白くしてみました。これでもう怖くありませんね😊😊😊
🐟 fishを使ってみる
インストール
Homebrew🍺 が入っていれば、簡単にインストールできます。 Homebrewのインストールはこちら
// brewコマンドで、fishのインストール $ brew install fish // バージョンの確認。2017年12月時点では2.6.0 $ fish -v
デフォルトのシェルに設定
// fishがどこにあるか調べる( /usr/local/bin/fish と出るはず) $ which fish // /etc/shellsを編集。パスワードを聞かれるのでログインパスワードを入力 $ sudo vi /etc/shells // ログインシェルをfishにするためにフルパスで入力する。 // 開いたファイルの一番下の行に下記を入力 /usr/local/bin/fish // デフォルトのシェルをfishに変更 $ chsh -s /usr/local/bin/fish
ここでexit
ターミナルを再起動!💥
// 現在のログインシェルを表示する // /usr/local/bin/fish となっていれば成功! $ echo $SHELL
色々設定したいので、設定管理のフレームワークのoh-my-fish
をインストールしてみます。
fishermanというのもあって、こっちのほうがよさそうなんですが、色々あって今回はoh-my-fishを使います。fishermanもまた今度試してみます。
// curlを使ってoh-my-fishのインストール $ curl -L https://github.com/bpinto/oh-my-fish/raw/master/tools/install.fish | fish
使ってみる😤
インストール後、こんな感じになりました。カッコイイ!😂
現在のGitブランチをデフォルトで表示してくれているのも良いですね。
まだまだ全ての機能は使えてないんですが、コード補完が優秀な印象です。よく使うコマンドはfishが覚えてくれるので、上記のような長いGitのブランチを行き来する場合もめんどくさくありません。迷ったらTabキーを押せば候補を出してくれるのでとりあえず押しとけば次の行動を空気読んで出してくれます。💨💨
テーマを変更したい場合、コマンドラインで
$ fish_config
と入力すれば、ブラウザで設定ファイルを変更することができます。このへんがデザイナーにも優しそうです。✨
💻 zshを使ってみる
Macの場合、はじめからzshは入ってるみたいなんですが、新しいのを使いたいんで、今回もhomebrew🍺でzshをインストールしてみます。
インストール
// homebrewでzsh, zsh-autosuggestions, zsh-completionsをインストール $ brew install zsh zsh-autosuggestions zsh-completions // インストールできているかバージョンを確認。2017年12月現在では5.4.2でした。 $ zsh --version // zshの場所の確認(/usr/local/bin/zshと出るはず) $ which zsh // /etc/shellsを編集。パスワードを聞かれるのでログインパスワードを入力 // 一番下の行に/usr/local/bin/zshを入力 $ sudo vi /etc/shells // シェルをzshに切り替え $ chsh -s /usr/local/bin/zsh
そして再起動!💥
zshでもプラグインマネージャーをインストールします。
色々なプラグインマネージャーがあるみたいなんですが、zplug🌸がオススメらしいので使ってみます。
$ brew install zplug
で、~/.zshrcに以下を入力します。
3行目では、試しにzplugを使ってzsh-syntax-highlightingをインストールしています。
source ~/.zplug/init.zsh zplug "zsh-users/zsh-syntax-highlighting", defer:2 if ! zplug check --verbose; then printf "インストールしますか?[y/N]: " if read -q; then echo; zplug install fi fi zplug load
その後、以下を実行します。
$ source ~/.zshrc
使ってみる😤
fishに比べるとシンプルですね。(対して何もいれてないので)
時間の都合上、zshの超多機能な恩恵を受けられるほどカスタマイズはできませんでしたが、調べれば調べるほど沢山の情報が出て来るので、これがzshを使う理由になるんじゃないでしょうか😤
ただ、情報が多すぎてどれが自分に対しての最適解なのかという取捨選択が難しいので、そういう意味で玄人向けなのかなと思いました。
総括
それぞれを簡単に触ってみた感じ、それぞれのメリットはこんな感じです😊
🐟 fish
- コード補完が強力
- めんどくさい設定が要らない、インストール後すぐに実用的な設定を持っている
- ビジュアルがかわいい
💻 zsh
- 超多機能、調べれば便利なTipsが多く存在する
- プラグインもめちゃくちゃ多い
- 玄人感出る
デザイナーの皆さんにおすすめしたいのは、
個人的には🐟 fish 🐟ですね🎉
便利な機能をサクッと使えて、
設定をインブラウザで変更が可能、
プラグインも視覚的におしゃれなものがある、
などデザイナーには嬉しい機能が多い印象でした。
今回はここまでです。最後まで読んでいただきありがとうございました。・゚・(ノ∀`)・゚・。
白石のアドベントカレンダー2017、次回は12月19日予定です。🐶
明日は弊社エンジニアしゅんちゃんの「見積もりは、あくまでも見積もり」です。乞うご期待!
余談
白石のTwitterアカウント
興味を持っていただけましたら、どうぞ。
過去の白石のアドベントカレンダー gashoo.hatenablog.com
過去のGASHOO Inc. アドベントカレンダーの記事はこちら adventar.org