新人エンジニアの時に知っておきたかったこと[Zsh編]


はじめに

この記事は新人エンジニアの時に知っておきたかったことに含まれます。
他の記事は上記のリンクから遷移可能です。あわせてご覧ください。

Zshとは?

Unixのコマンドシェルの1つ

Wiki

Manual

コマンドシェルには他にも

  • Bash
  • Fish

などがあります。

コマンドシェル

インストールと適用

Source

実際にZshをインストールしてみます。
~/local/srcにソースをダウンロードし、~/local/binにZshを配置します。

インストール

$ mkdir -p ~/local/src
$ cd ~/local/src
$ wget https://sourceforge.net/projects/zsh/files/zsh/5.5.1/zsh-5.5.1.tar.xz/download -O zsh-5.5.1.tar.xz
$ tar xvf zsh-5.5.1.tar.xz
$ cd zsh-5.5.1
$ ./configure --enable-multibyte --enable-pcre --prefix=$HOME/local
$ make
$ make install

これでZshが~/local/binに配置されたはずです。

適用

シェルの一覧にインストールしたZshを追加します。

$ sudo sh -c "echo '$HOME/local/bin/zsh' >> /etc/shells"

ログインシェルをインストールしたZshに変更します。

$ chsh -s $HOME/local/bin/zsh

Pathを通す

~/.zshrcに以下を記述します。
もし.zshrcが存在していない場合、作成します。

export PATH=$HOME/local/bin:$PATH

もし変更の際にroot権限が求められる場合には以下を実行します。
$usernameはZshを使用するユーザ名に置き換えてください。

$ sudo chsh -s $HOME/local/bin/zsh $username

反映

ログアウトしてください。
ログアウトして再度ログインすればインストールしたZshがログインシェルとして使用されているはずです。

設定ファイル

Zshには設定ファイルがあります。
この設定ファイルをに設定を追加することでデザインや機能の拡張が可能です。

$ZDOTDIR/.zshenv

$ZDOTDIR/.zprofile

$ZDOTDIR/.zshrc

$ZDOTDIR/.zlogin

$ZDOTDIR/.zlogout

5 Files (zsh)

設定ファイルには種類があり、それぞれ読み込まれる条件が異なります。

zshの設定ファイルの読み込み順序と使い方Tipsまとめ

プラグイン

Zshには機能を拡張するプラグインが用意されています。
プラグインをインストールする際にはプラグインマネージャを使用します。

まだ oh-my-zsh で消耗してるの?

試しにzplugでプラグインをインストールする

.zshrcに以下を記述します。

if [[ ! -d ~/.zplug ]];then
    git clone https://github.com/zplug/zplug ~/.zplug
fi

source ~/.zplug/init.zsh

#### 以下にインストールしたいプラグインを記述する

zplug "zsh-users/zsh-syntax-highlighting"
zplug "zsh-users/zsh-completions"

#### 以上にインストールしたいプラグインを記述する

# Install plugins if there are plugins that have not been installed
if ! zplug check --verbose; then
    printf "Install? [y/N]: "
    if read -q; then
    ¦   echo; zplug install
    fi
fi

zplug load

設定を反映する

以下のコマンドを実行して設定を反映します。

$ source ~/.zshrc

まとめ

この記事ではZshについて共有しました。
私自身、まだまだZshに関して細かいことを理解しているわけではありません。
ですが、プラグイン等をインストールして使ってみるとシェル操作が快適になることが分かっています。
シェル操作に抵抗のある方も、プラグインをいれて快適なシェル環境を得られれば、その抵抗は軽減されるはずです。
ぜひ、Zshをカスタマイズしてシェル操作に慣れてみてください。