こんにちは!のせっち@nosecchi01です。
僕はWordPressを中心としたマークアップエンジニアとして活動しておりますが、ターミナルを使わない日はありません。
以前bashを使ったカスタマイズ方法をご紹介しましたが、zshに切り替えたのでzsh向けの方法を紹介します。
黒い画面が得意じゃない方向けにも、わかりやすく解説していきます。
bashバージョンをお探しの方は下記の記事をどうぞ!
完成形の確認
下記のような状態を目指します!
- 矢印を表示
- ユーザー名・ホスト名を非表示
- git branchを表示
- コマンドの後一行開ける
- cdなしでディレクトリ移動
- シンタックスハイライト
それでは実際にやっていきましょう!
矢印を表示(下準備)
矢印を表示するために、Powerline-shellを使っていきます。
Powerline-shellの公式githubはこちら
https://github.com/b-ryan/powerline-shell
しかし、powerline-shellを入れるだけではダメで、専用のフォントが必要です。ないと矢印の部分が文字化けします。
ですので、まずフォントをインストールしていきます!
フォントのインストール
白源というフォントを使います。
下記からzipファイルをDLして、各フォントを端末にインストールします。
Rictyというフォントも候補に上がるのですが、色々試した結果、僕はHackGen35Nerdが一番しっくりきました。
初心者向けになるべくコマンドは使わない形で解説していますが、homebrewでもインストール可能です。
(zipでDLした方は下記の作業は不要です)
brew tap homebrew/cask-fonts
brew cask install font-hackgen
brew cask install font-hackgen-nerd
インストールしたら、忘れずにフォントを変更します。
ターミナル → 環境設定 → プロファイル からフォントを変更します。
HackGenであれば、好きなものを選んでOKです。
僕はVisual Studio Codeを使っているのでそちらのターミナルも変更します。
(お使いのエディタを適宜設定してください)
設定(preferences)からターミナルのfont familyを探します。
上部の検索バーに"terminal font"
くらいまで入力したら出てきます。
矢印を表示(Powerline-shellをインストール)
準備ができたのでPowerline-shellをインストールしていきます。
公式の手順通りいきましょう。
Powerline-shellの公式githubはこちら
https://github.com/b-ryan/powerline-shell
# 任意のディレクトリに移動後
git clone https://github.com/b-ryan/powerline-shell
cd powerline-shell
python setup.py install
python setup.py install
でエラーが出た方はpythonのバージョンが古い可能性があります。
こちらの記事を参考にpythonのバージョンを3.xに上げてみてください。
続いて.zshrcを編集します。
ない場合は作成します。
touch ~/.zshrc
設定を追加していきます。
vimで書いてもいいですし、.zshrcをエディタで開いて直接編集してもいいようです。
vimは下記のように操作します。
vi ~/.zshrc
続いて、i
を押してINSERTモードに変更し、下記を追記します。
# powerline-shellの設定
function powerline_precmd() {
PS1="$(powerline-shell --shell zsh $?)"
}
function install_powerline_precmd() {
for s in "${precmd_functions[@]}"; do
if [ "$s" = "powerline_precmd" ]; then
return
fi
done
precmd_functions+=(powerline_precmd)
}
if [ "$TERM" != "linux" ]; then
install_powerline_precmd
fi
追加したらesc
でINSERTモードを抜けて、:wq
で確定させます。
ここまでできたら、設定を反映します。
source ~/.zshrc
これで矢印/gitブランチが出るようになります!
ユーザー名、ホスト名を表示しない
ユーザー名、ホスト名は邪魔なので表示しないようにします。
まず設定ファイルを作成します。
mkdir -p ~/.config/powerline-shell && \
powerline-shell --generate-config > ~/.config/powerline-shell/config.json
~/.config/powerline-shell/
というディレクトリを作成し、その中にconfig.json
を作りました。
エディタで開いて下記部分を削除します。
{
"segments": [
"virtual_env",
"username", // 削除
"hostname", // 削除
"ssh",
"cwd",
"git",
"hg",
"jobs",
"root"
],
}
jsonファイルでコメントアウトはNGなので実際の操作では削除するようにしてください。
コマンドの後1行あける
.zshrc
を編集します。
# コマンドの実行ごとに改行
function powerline_precmd() {
PS1="
$(powerline-shell --shell zsh $?)%"
}
zshの場合はコード上で改行すると改行になります。
インデントが気持ち悪いと思いますが、インデントもターミナルに反映されてしまうので詰めています。
忘れずに設定を反映します。
source ~/.zshrc
その他の設定(一気に紹介)
その他の細かな設定を一気に紹介します。
cdを省略してディレクトリ移動
## cdを省略してディレクトリ移動
setopt auto_cd
cd -で以前移動したディレクトリを表示
## cd -で以前移動したディレクトリを表示
setopt auto_pushd
コマンドのスペルをミスして実行した場合に候補を表示
## コマンドのスペルをミスして実行した場合に候補を表示
setopt correct
シンタックスハイライト
シンタックスハイライトを入れると、コマンドに適宜色付けをしてくれます。
テンションが上がるので入れましょう!
.zsh
というフォルダを作成して、そこにzsh-syntax-highlighting
をcloneします。
mkdir ~/.zsh
git clone git://github.com/zsh-users/zsh-syntax-highlighting.git ~/.zsh/zsh-syntax-highlighting
今後も何か追加する場合は~/.zsh
に全部cloneするようにしておくと便利です。
あとは、.zshrc
を編集するだけです。
## zsh-syntax-highlighting
if [ -f ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]; then
source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
fi
お疲れ様でした!