DEV Community

kaede
kaede

Posted on • Edited 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.