DEV Community

kaede
kaede

Posted on • Updated on

Zsh 基礎 3 -- prezto を入れてテーマを pure に変更する

なにがしたいか

zsh の prezto の propmpt pure と Nerd Font

がみやすいと効いたので


zsh テーマの 3 種の比較をして prezto を選択

zsh のテーマには、prezto の他に oh-my-zsh と zplug もある。

https://qiita.com/qwerty/items/92412925ac2cb9eabf4c#%E7%B5%90%E8%AB%96

この記事をみると、

  • oh-my-zsh は設定が面倒
  • zplug は動作が重い

ので Prezto が設定の手間と動作の軽さの点から良いようだ。


prezto のクローン

https://github.com/sorin-ionescu/prezto

git clone --recursive \
https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
Enter fullscreen mode Exit fullscreen mode

git から直接クローンするらしい

Cloning into '/home/kaede/.zprezto/modules/prompt/external/pure'...
Cloning into '/home/kaede/.zprezto/modules/prompt/external/powerlevel10k'...
Cloning into '/home/kaede/.zprezto/modules/syntax-highlighting/external'...

Submodule path 'modules/prompt/external/powerlevel10k': checked out '8a676a9157d2b0e00e88d06456ac7317f11c0317'
Submodule path 'modules/prompt/external/powerline': checked out 'c48e4c69ef5c368ea7cda961ed9d0e298a5ae1fc'
Submodule path 'modules/prompt/external/pure': checked out '5b458ba5b75f49a8071d53c343f1a23631f7bced'
Submodule path 'modules/syntax-highlighting/external': checked out '932e29a0c75411cb618f02995b66c0a4a25699bc'
Enter fullscreen mode Exit fullscreen mode

propmt の

powerlevel10k
powerline
pure

syntax-highlighting の external

これらがインストールされたようだ。


現在の zshrc の退避と prezto 用の zshrc の生成

https://qiita.com/abirutakayuki/items/a235c1ec1a0831cfc459#%EF%BC%93%E3%82%B3%E3%83%B3%E3%83%95%E3%82%A3%E3%82%B0%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AFprezto%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB

mv .zshrc .zshrc_temp
Enter fullscreen mode Exit fullscreen mode

zshrc を逃がす。

setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
Enter fullscreen mode Exit fullscreen mode

これで prezto の読み込みを生成されるようだ

#
# Executes commands at the start of an interactive session.
#
# Authors:
#   Sorin Ionescu <sorin.ionescu@gmail.com>
#

# Source Prezto.
if [[ -s "${ZDOTDIR:-$HOME}/.zprezto/init.zsh" ]]; then
  source "${ZDOTDIR:-$HOME}/.zprezto/init.zsh"
fi

# Customize to your needs...
Enter fullscreen mode Exit fullscreen mode

.zprezto/init.zsh を起動時に動かす設定が書かれた。

cat .zshrc_temp >> .zshrc
Enter fullscreen mode Exit fullscreen mode

逃した zshrc の内容を追記する


propmt コマンドで テーマのリストを出したりプレビューする

prezto を読み込んだだけでは見た目は一切変わらない。

propmt コマンドが使えるようになる。
これでテーマを変更できる。

prompt -l
Currently available prompt themes:
agnoster cloud damoekri giddie kylewest minimal nicoulaj paradox peepcode powerlevel10k powerline pure skwp smiley sorin steeef adam1 adam2 bart bigfade clint default elite2 elite fade fire off oliver pws redhat restore suse walters zefram
Enter fullscreen mode Exit fullscreen mode

-l で使えるテーマのリストをだせる

prompt -p pure

pure theme:

~ 13s
 command arg1 arg2 ... argn
Enter fullscreen mode Exit fullscreen mode

-p でプレビューができる。

肌色の 太くて背の高い > マークで
入力しているコマンドがわかりやすくなった。

https://mikebuss.com/2014/04/07/customizing-prezto/

このサイトで一覧が見れる


zpreztorc に pure の設定を追加する

https://qiita.com/abirutakayuki/items/4e04114b702f8e36def7#walters

https://qiita.com/gilly/items/5ff7bd7142e963cdbb9b#%E3%83%86%E3%83%BC%E3%83%9E%E3%81%AE%E8%A8%AD%E5%AE%9A

.zpreztorc には walters がデフォルトになっていて

zstyle ':prezto:module:prompt' theme 'walters'
Enter fullscreen mode Exit fullscreen mode

これ pure に変えても読み込まれなかった


公式サイトのロードの記述を確認

https://github.com/sorin-ionescu/prezto

公式サイトには

Load the theme you like in ${ZDOTDIR:-$HOME}/.zpreztorc and then open a new Zsh terminal window or tab.

~/.zpreztorc にあるテーマをロードして
新しく開けば反映される

と書いてあるが、どうやってロードするのか不明


propmt -s で一時的にテーマを変更

https://qiita.com/gilly/items/5ff7bd7142e963cdbb9b#%E3%83%86%E3%83%BC%E3%83%9E%E3%81%AE%E8%A8%AD%E5%AE%9A

prompt -s でできるらしい

Image description

しかし、これは設定ファイルを変更しないので一時的。


.zshrc に autoload で adam1 を設定しているのを確認

# Customize to your needs...
# Set up the prompt

autoload -Uz promptinit
promptinit
prompt adam1
Enter fullscreen mode Exit fullscreen mode

zshrc に adam1 が選択されるようにでていた
この adam1 は propmt -l のリストででてきた!

なのでここを pure に変えたらできそうなので、変えてみる

Image description

すると初期起動シェルを pure に変更できた!!!


まとめ

zsh で prezto というテーマ管理のソフトをいれて
pure というシンプルなテーマを設定するためには

git clone --recursive \
https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
Enter fullscreen mode Exit fullscreen mode

prezto を git clone して

mv .zshrc .zshrc_temp
Enter fullscreen mode Exit fullscreen mode

既存の zshrc を逃がして

setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
  ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
Enter fullscreen mode Exit fullscreen mode

~/.preztorc と preztorc の設定を入れた ~/.zshrc などをこれで生成

cat .zshrc_temp >> .zshrc
Enter fullscreen mode Exit fullscreen mode

逃した zshrc といま作った zshrc を結合する。
すると prompt コマンドが使えるようになる。

-l でリスト、-p でプレビュー、-s で一時セットできる。

# Customize to your needs...
# Set up the prompt

autoload -Uz promptinit
promptinit
prompt adam1
Enter fullscreen mode Exit fullscreen mode

zshrc の autolaod の propmt の
adam1 を pure に変える

Image description

すると、最初から zsh が prezto の pure で起動する。

Top comments (1)

Some comments may only be visible to logged-in visitors. Sign in to view all comments.