Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Terminal(iTerm2) 入門

Terminal(iTerm2) 入門

1. zsh 設定

1.1 bash から zsh に移行 (zsh使用中ならスキップ)

macOS Catalina から デフォルトシェルが bash から zsh に変更されたため警告が表示されるようになった。
これを機に移行する。
参考) https://support.apple.com/ja-jp/HT208050

※ 以下手順はCatalina にアップデートしていることを想定

1. 以下を実行後

$ chsh -s /bin/zsh

新しいタブを開いて echo $SHELL を実行すると /bin/zsh になっている事がわかる

2. 設定ファイルを移行

$ cat ~/.bash_profile >> ~/.zprofile
$ cat ~/.bashrc >> ~/.zshrc

1.2 補完を有効にする

$ brew install zsh-completions
$ cat <<\EOF >> ~/.zshrc
fpath=(/usr/local/share/zsh-completions $fpath) # 補完強化プラグイン
autoload -Uz compinit && compinit # 補完有効

# ↓ gitのブランチ名をTerminal上に表示
autoload -Uz vcs_info
precmd_vcs_info() { vcs_info }
precmd_functions+=( precmd_vcs_info )
setopt prompt_subst
RPROMPT=\$vcs_info_msg_0_
zstyle ':vcs_info:git:*' formats '%b'

# プロンプトにカレントディレクトリパス・ユーザー名を表示
PROMPT='%c %n$ '

# ワイルドカード使用時の no matches found 回避
setopt nonomatch
EOF
$ source ~/.zshrc

トラブルシューティング

※ もしタブを開いて以下の警告が表示されたら

zsh compinit: insecure directories, run compaudit for list.
Ignore insecure directories and continue [y] or abort compinit [n]?

以下の対応を行う

$ compaudit
There are insecure directories:
/usr/local/share
$ chmod go-w '/usr/local/share'

1.3 hstr 導入(履歴検索を便利にする)

$ brew install hstr
$ hstr --show-zsh-configuration >> ~/.zshrc
$ cat <<EOF >> ~/.zshrc
export HISTSIZE=1000 # メモリに保存される履歴の件数
export SAVEHIST=100000 # 履歴ファイルに保存される履歴の件数
setopt extended_history     # 履歴に実行時間も保存する
setopt hist_reduce_blanks   # 余分なスペースを削除して履歴に保存する
setopt hist_no_store        # historyコマンドは履歴に登録しない
setopt hist_expand          # 補完時に履歴を自動的に展開
setopt hist_save_no_dups    # 入力したコマンドが直前のものと同一なら古いコマンドのほうを削除する
setopt hist_find_no_dups    # ラインエディタでヒストリ検索し、ヒットした場合でも重複したものとみなさない
setopt hist_ignore_all_dups # 入力したコマンドを履歴に登録する時、同一がすでに存在した場合登録しない
setopt hist_no_functions    # 関数定義のためのコマンドは履歴から削除する
setopt hist_no_store        # 履歴参照のコマンドは履歴に登録しない
setopt hist_reduce_blanks   # コマンド中の余分な空白を削除する
setopt inc_append_history   # 履歴をインクリメンタルに追加
setopt share_history        # 他のシェルのヒストリをリアルタイムで共有する
EOF

2. 基本操作

動作 コマンド 補足
タブを開く command + T
タブを閉じる command + W
タブを移動 command + 左右キー
入力履歴表示 ctrl + R hstr を導入することでインクリメンタルサーチができるようになる
履歴の一つ前を選択 ctrl + P
履歴の一つ次を選択 ctrl + N
プロセスを強制終了 ctrl + C コマンドの応答がない場合に使用
画面をクリア ctrl + L
コマンドを補完 tab 入力中のコマンドが補完される

3. よく使うコマンド

Mac上で使用するコマンドを厳選しました。
詳しいオプションは以下で調べてください。

Linux入門 コマンドリファレンス
https://webkaru.net/linux/command-reference/

コマンド 使用方法リンク
ls 使い方
cd 使い方一つ前のディレクトリに戻る
pwd 使い方
touch 使い方
mkdir 使い方
cp 使い方
mv 使い方
rm 使い方
rmdir 使い方
ps プロセスとは基本的使い方
kill 使い方
pgrep, pkill 使い方
which 使い方
vim 使い方
cat 使い方
echo 使い方
less 使い方
tail -f 使い方
zip 使い方
open 使い方

4. 便利な設定

■ ls 短縮コマンド

$ cat <<EOF >> ~/.zshrc
# 便利なコマンド
alias ll='ls -lh'
alias la='ls -lha'
EOF

■ 新しいタブを開いたとき、前のタブのディレクトリを引き継ぐ

[Profile] → [General] → 「Reuse previous session's directory」にチェックを入れる
image.png

SaitoJP
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away