0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

iTerm2, `oh my zsh!` `dotbot` でターミナルをカスタマイズしてみた

Last updated at Posted at 2024-08-25

Goal

iTerm2, oh my zsh! と dotbotにてdotファイルの管理を導入してみます。
M1 Macを使用している方向けの記事となります。

iTerm2: https://iterm2.com/
Oh my zsh!: https://ohmyz.sh/
dotbot: https://github.com/anishathalye/dotbot

前提

iTerm2 : Mac標準のターミナルの代わりとなるアプリケーション。
oh my zsh! : シェルの1つである zsh をカスタマイズするためのオープンソースソフトウェア。

なぜやるのか

ターミナルやシェルをカスタマイズする理由

先日読んだ、達人プログラマーに以下のようなことが書かれていました。
達人プログラマーではシェルを、木工職人が使う作業台に例えていました。作業する上で最も基本的なツールであり、生涯使うツールです。

  • ターミナル、シェルはエンジニアにとって、最も基本的なツールの1つです。ファイル操作やプログラム実行など様々な作業を実行するベースとなるツールです。
  • 最も基本的なツールをカスタマイズすることにより視認性を高めたり、カスタマイズコマンドを追加して効率をあげたり、結果的に愛着が湧いたりと作業環境を自分のスタイルに合わせ、効率的な作業を行うのに欠かせないものとなります。
  • また上記のカスタマイズがPCの変更や、PC間での設定共有を楽にするために、バージョン管理も必要となります。

これまでデフォルトのターミナルと zsh を使用していましたが、自分もそろそろ自分の作業台が欲しいなと思い、試してみることにしました。

事前準備

  • oh my zsh! をインストールすると、 .zshrc が上書きされてしまうため、バックアップをとっておきます。
cp ~/.zshrc ~/.zshrc_cp

インストール

# Intall iTerm2
brew install iTerm2

# Install "oh my zsh!"
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

カスタマイズ

  • iTerm2oh my zsh! の設定方法は探せば色々と出てくるため、今回は割愛します。
  • 色はできるだけシンプルなものが良かったため、iTerm2 の色は japanesque を使用し、 oh my zsh!simple をテーマとして使用することにしました。
  • oh my zsh! では pluginとして一旦以下を追加しています。web-searchはシェルから google 検索をすぐにできるのが便利そうだったため、デフォルトのプラグインから追加しています。
  • aliasでカスタムコマンドを追加してみます。一旦、 gitコマンドで試してみることにしました。
.zshrc
plugins=(
    git
    zsh-autosuggestions
    zsh-syntax-highlighting
    web-search
    )
.zshrc
alias g='git'
alias gs='git status'
alias gl='git log'
alias ga='git add'
alias gc='git commit -m'
alias gagc='git add . && git commit -m'
alias gp='git push'
alias gch='git checkout'
alias gcb='git checkout -b'

iTerm2 を開いて、カスタマイズが反映されていることやカスタム aliasが動くことを確認できたら成功です。はじめにコピーした zshrc ファイルの内容も追加することを忘れないようにしましょう。

dotbotによるバージョン管理

iTerm2oh my zsh! がうまく設定できたら、最後は dotbotを追加してバージョン管理を行います。

まず 今後、ドットファイルを管理するためのディレクトリを作成します。

mkdir .dotfiles

今後、自分がバージョン管理したいドットファイル (.zshrc など) はこのディレクトリにて管理します。しかし、本来 .zshrc はホームディレクトリに置いておく必要があり、移動させると設定が読み込まれなくなります。

その場合、シンボリックリンクを作成することで、対応することができます。

# 移動
mv ~/.zshrc ~/.dotfiles/zshrc

# 移動させても読み込みされるようにシンボリックリンクを作成
# dotbotを使用すると不要
ln -sv ~/.dotfiles/zshrc ~/

これを、数多くのドットファイル全てで行うと、管理が面倒のため、 dotbot を導入します。
GitHubのREADMEに従って dotbot を導入します。
今回は既存のドットファイルを使用するため、以下手順となります。

cd ~/.dotfiles # replace with the path to your dotfiles
git init # initialize repository if needed
git submodule add https://github.com/anishathalye/dotbot
git config -f .gitmodules submodule.dotbot.ignore dirty # ignore dirty commits in the submodule
cp dotbot/tools/git-submodule/install .
touch install.conf.yaml

そして、 install.conf.yaml に設定を記載します。

今回は、 .zshrc.gitconfig を管理するために .dotfilesに移動させたため、2つのリンクを設定しています。

install.conf.yaml
- clean: ["~"]

# require 4 spaces
# https://github.com/anishathalye/dotbot/issues/8
- link:
    ~/.zshrc: zshrc
    ~/.gitconfig: gitconfig

最後に、以下コマンドを実行し成功すれば完了です。

~/.dotfiles ./install

実際に設定した内容が反映されていることを確認して終わりとなります。(今回は git コマンドが反映されていることを確認)

スクリーンショット 2024-08-25 17.28.49.png

新しく作成したファイルは GitHubなどで管理します。 :)

最後に

  • 実際に自分でカスタマイズしてみると、愛着が湧いてくるので、今後はよりシェルの使用頻度を増やしていこうと思います。
  • 今後、Vimの設定ファイルも追加して、Vimももっと使えるようになっていければと思います。
  • せっかくなので、今後ぜひ周りの皆さんにもおすすめ設定を教えてもらいたいと思います。もし良かったらコメントいただけると嬉しいです。
0
0
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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?