📚

いい加減Oh My Zsh!を入れた

2024/04/20に公開

Oh My Zsh!とは

Zshシェルのためのカスタマイズと管理を容易にするフレームワーク。
プロンプトのテーマやプラグイン、便利なショートカットなどを簡単に設定できる。

経緯

2年以上ターミナルをほぼデフォルトの状態で使っていたが、突然コマンドを直打ちするのが面倒になり、自動補完できるようにしたいと思った。
なんとなく存在を知っていたOh My Zsh!を調べ、拡張機能を入れることで自動補完できると知り、導入に至った。

環境

  • mac(ターミナル)(Zsh)

やったこと

1. 公式サイトからコマンドを確認し、インストール
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

インストール完了後、以下のように見た目が変化。
(before)

(after)

<詳細>
Oh My Zsh!がインストールされるとzshシェルの設定ファイルである~/.zshrcが上書かれ、~/.oh-my-zshというディレクトリが置かれる。

2. テーマを変更

テーマは~/.zshrc 内で以下のように設定されていて、デフォルトではrobbyrussellという値が入っている。
この値に、以下の公式URLから選んだテーマを設定すると変更できる。
https://github.com/ohmyzsh/ohmyzsh/wiki/Themes
私は、'simple'というテーマに変更。

source ~/.zshrc

で反映すると、以下のようなデザインに変わった。(ターミナル再起動でも可)

3. プラグインのインストール

プラグインは公式サイトに記載されているものと、zsh-usersというGithubプロジェクトに記載されているユーザーが作ったものと2種類ある。

⚪︎ 公式サイトの方法

  • 公式サイトでプラグイン一覧を確認する。
  • ~/.zshrc 内のplugins の値に以下の様に記載。
    plugins=(git docker)
    
  • source ~/.zshrc かターミナル再起動で反映

⚪︎ zsh-usersの方法

  • zsh-usersにあるリポジトリを、~/.oh-my-zsh/custom/plugins/ 下にクローンする。
    git clone https://github.com/zsh-users/PLUGIN_NAME.git ~/.oh-my-zsh/custom/plugins/PLUGIN_NAME
    
  • ~/.zshrc 内のplugins の値に記載。
  • source ~/.zshrc かターミナル再起動で反映

◾️ 実際に導入したプラグイン

  • 公式
  • zsh-users
    • zsh-completions:
      • コマンド入力から予測し補完をかけてくれる。
      git clone https://github.com/zsh-users/zsh-completions ${ZSH_CUSTOM:-${ZSH:-~/.oh-my-zsh}/custom}/plugins/zsh-completions
      
    • zsh-autosuggestions
      • コマンド履歴から補完をかけてくれる。
      git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
      
    • zsh-syntax-highlighting
      • 入力をハイライトしてくれる
      git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
      
  • zshrc への記載
    plugins=(git aliases copypath history docker github composer laravel brew zsh-completions zsh-autosuggestions zsh-syntax-highlighting)
    

おわりに

便利なものはもっと積極的に取り入れて作業効率を上げていこうと思った。

参考資料

GitHubで編集を提案

Discussion