生のターミナルから卒業しませんか？【oh-my-zsh】

# はじめに

Mac のターミナル、そのままで使っていませんか？

昔ながらのターミナルも味があって私は好きですが、現代の開発者ならもっと快適に使いたいですよね。

ということで今回は「**生のターミナルから卒業したい人向け**」に、 zsh を快適にするフレームワーク「**oh-my-zsh**」を紹介します。

# oh-my-zsh って何？

zsh を管理できるフレームワークです。
ざっくり言えば、これを使えば zsh がとんでもなくカッコよく、使いやすくなっちゃいます。

例えば：

- 気分に合わせてテーマを変えたり  
- 強力な補完機能を加えたり  
- Git をさらに使いやすくしたり  
- etc…

あげればキリがないですが、とにかく開発者フレンドリーな zsh になります。

# 導入方法

:::note warn
**zsh がログインシェルであることを前提にしています！**  
もしログインシェルが Bash などの場合は、以下で zsh に切り替えてください。

```bash
chsh -s $(which zsh)
```
:::

サクッと[こちら](https://github.com/ohmyzsh/ohmyzsh)を参照して curl でインストールします。

```bash
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```

これだけでインストールは完了です。  
すでにプロンプトの表示が変わっていると思います。

また `~/.zshrc` が自動で作成（存在していなかった場合） or 更新されており、oh-my-zsh の設定が追記されています。  
この `.zshrc` に oh-my-zsh の設定を記述していきます。

# テーマの変更

:::note warn
**.zshrcを編集したらexec zshあるいはsource ~/.zshrcすることを忘れずに！
設定の変更が反映されません！**
:::

oh-my-zsh にはたくさんのテーマが用意されています。  
`.zshrc` の `ZSH_THEME="..."` を変更することでテーマを切り替えられます。

デフォルトは `robbyrussell` です。

[こちら](https://github.com/ohmyzsh/ohmyzsh/wiki/Themes)にプリセットのテーマが載っていますので、お好みのテーマを探してみましょう。

以下で一部を紹介します。（見やすさのため背景は黒くしています）

**af-magic**  
![af-magic-re.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/53bef24e-645c-4cce-aa9c-2be216f4e1d9.png)


**crunch**  
![crunch-re.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/79e56b3b-1699-4d44-bf8b-54e0bdc96082.png)


**kardan**  
![kardan-re.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/50b65254-8a6b-4456-84de-7d40c920d13e.png)


**nicoulaj**  
![nicoulaj-re.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/d27fc56d-28a7-4451-8408-f2b487a7aad5.png)


**wezm**  
![wezm-re.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/bd94153f-18ca-445a-935f-9360f55d05c2.png)


## 外部のテーマ
oh-my-zsh にはプリセットのテーマのほかに、外部のテーマもあります。
中でも私のおすすめは**powerlevel10k**です。
こちらは非常に人気のあるテーマで、セットアップも対話形式で簡単に行えます。（[公式](https://github.com/romkatv/powerlevel10k)）

```bash
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
  "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
```

`.zshrc` の `ZSH_THEME="powerlevel10k/powerlevel10k"` に変更後、  
`source ~/.zshrc` または `exec zsh` を実行すれば設定用のプロンプトが表示されます。

![powerlevel10k install.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/8213ccae-91c8-49a1-a0be-83a2a792091f.png)

プロンプトに従って設定を終えるとテーマが適用されます。  
![powerlevel10k done.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/0f1f586d-9197-46d1-b50f-3620638f0d08.png)

# プラグインを使ってもっと便利に

すでにあなたのターミナルは使いやすくなっていると思いますが、**oh-my-zsh の本領はここからです。**

`.zshrc` の以下の部分でプラグインの設定が可能です。

```zsh
plugins=(git)
```

git は oh-my-zsh のインストール時にすでに設定されていると思います。  
この `plugins=(...)` に追加することで、プラグインを設定できます。  

というわけで、多くの開発者にとって有用なプラグインをいくつか紹介します。

## zsh-syntax-highlighting

**必須です。** これなしでは使えません。  
**コマンドにシンタックスハイライト**をつけてくれます。
打ち間違えてたら赤くなります。

![zsh-syntax-highlighting.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/df2f5a86-eabb-40d0-9d3a-f9dd9e91f068.png)

こちらは外部のプラグインなので別途インストールする必要があります。（[公式](https://github.com/zsh-users/zsh-syntax-highlighting)）
```bash
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
```

`.zshrc` の `plugins=(...)` に `zsh-syntax-highlighting` を追加で反映されます。

## zsh-autosuggestions

これも必須です。**過去に実行したコマンドをサジェスト**してくれます。  
そのまま補完も可能です。

![zsh-autosuggestions.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/4cdaaaf1-17c7-4cd3-92a3-57f51c40673b.png)

同様に外部のプラグインです。（[公式](https://github.com/zsh-users/zsh-autosuggestions)）
```bash
git clone https://github.com/zsh-users/zsh-autosuggestions \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
```

`.zshrc` の `plugins=(...)` に `zsh-autosuggestions` を追加で反映です。

## copypath

地味に便利です。copypath を打つと**カレントディレクトリのパスをクリップボードにコピー**してくれます。

![copypath.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/ccfbfdba-fe9e-42cd-9e06-554867c2faa3.png)

プリセットのプラグインなので `plugins=(...)` に `copypath` を追加するだけで適用できます。（[公式](https://github.com/ohmyzsh/ohmyzsh/blob/master/plugins/copypath)）

## copyfile

copyfile [ファイル] で指定した**ファイルの中身をクリップボードにコピー**してくれます。

![copyfile.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/f53a9cc8-164b-47ec-b691-b7cf520f2f79.png)

こちらも `plugins=(...)` に `copyfile` を追記するだけで OK です。（[公式](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/copyfile)）

## docker

Docker のエイリアスを追加してくれます。  
同様に `plugins=(...)` に `docker` を追記するだけで使えます。（[公式](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/docker)）

## web-search

**ターミナルから直接ブラウザ検索**が可能になります。  
ちょっと調べたいだけの時、ブラウザを起動して検索する手間が減ります。

![webseach.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/87edcd51-dfa1-46f4-af69-b5527828fd48.png)  
![webseach result.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/828948e4-ec06-4c5e-a8b2-0663e24d679e.png)

`plugins=(...)` に `web-search` を追加するだけで問題なしです。（[公式](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/web-search)）

## npm

npm のエイリアスを追加してくれます。  
同じく `plugins=(...)` に `npm` を追記するだけで利用可能です。（[公式](https://github.com/ohmyzsh/ohmyzsh/tree/master/plugins/npm)）

## you-should-use

割と好き嫌い分かれると思うのですが、私は結構好きです。
コマンドを実行した際に、**利用できるエイリアス**があれば教えてくれます。
きっとこれを使っていれば徐々にエイリアスが身体に染み付くことでしょう。

![youshoulduse.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/3f642eb4-ff43-4d89-9d24-b36d479e23eb.png)

外部のプラグインです。別途インストールしましょう。（[公式](https://github.com/MichaelAquilina/zsh-you-should-use)）
```bash
git clone https://github.com/MichaelAquilina/zsh-you-should-use.git \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/you-should-use
```

あとは`.zshrc` の `plugins=(...)` に `you-should-use` を追加で適用できます。

## zsh-bat

oh-my-zsh に bat を統合するプラグインです。  
**cat をとんでもなく見やすく**してくれます。

![スクリーンショット 2025-06-14 22.33.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3383150/a4dc13b6-d691-4010-aeb3-fe8b8cb43ff5.png)

こちらはそもそもbatをインストールする必要があります。（[公式](https://github.com/sharkdp/bat)）
その後、zsh-batをインストールです。（[公式](https://github.com/fdellwing/zsh-bat)）
```bash
brew install bat

git clone https://github.com/fdellwing/zsh-bat.git \
  $ZSH_CUSTOM/plugins/zsh-bat
```

あとは `.zshrc` の `plugins=(...)` に `zsh-bat` を追記しましょう。

# 終わりに

ターミナルに少し手を加えるだけで、一気に快適な環境になります。（テンションも上がります）

今回紹介した oh-my-zsh を入り口にして、どんどん自分好みのターミナル環境にアップグレードしていただければなと思います。

それぞれのリポジトリのリンクは本文中に載せてありますが、何か不明点があればコメントなどでお気軽にどうぞ！