LoginSignup
47
44

More than 1 year has passed since last update.

bashからZshに乗り換え - preztoを使ってプロンプトテーマを変えてみた

Last updated at Posted at 2021-06-30

はじめに

最近、仕事で使うMacを新しくしました。
入っていたOSがCatalinaだったため、デフォルトのシェルがZshでした。

どうやら今後もZshのままみたいですし、ならばZshで環境整えよう!と思い立ってセッティングしたときの記録を記事化したものです。

今回はpreztoにしました。
gitコマンドの補完や、branchの補完もしてくれるのでちょうど良いと思ったためです。

何かしらお役にたてたら嬉しいです。

環境

  • Macbook Pro(2019)
  • MacOS Catalina 10.15.7

対象読者

  • 初心者の方
  • Zshでいい感じのテーマ使いたい方
  • 補完の設定とか楽をしたい方

準備するもの

  • ターミナル
  • prezto
  • Powerline fonts

ターミナルの設定

お使いのターミナルの色を変更しましょう。

後で変更しても、もちろん良いです。
個人的にはプロンプトのテーマを選ぶときの印象が変わってくると思うので、先にターミナルのテーマを選ぶことをおすすめします。

私は普段はiTerm2を使っています。
環境を変えるついでに、Visual Stadio Codeのターミナルでも業務できるか試してみたかったので、普段のコーディングのことも考えながらテーマを選びました。

ターミナル iTerm Visual Studio Code
テーマ Solarized Dark GitHub Dark
イメージ builtin_solarized_dark.png GitHub_Theme.png
引用 Iterm2-color-schemes GitHub Theme

preztoのインストールから設定まで

prezto公式

preztoはZshのフレームワークです。
今回はpreztoをベースに、プロンプトのテーマやコマンドの補完設定を行います。

ちょうどgitのtab補完も設定したかったので、preztoでカバーできそうです。

git cloneをします。

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

cloneができたら下記のコマンドを実行して、Zshの設定ファイルをコピーし、新しいZshの設定を作成します。

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

上手く実行できたら、root直下に下記のファイルができていると思います。

  • .zlogin
  • .zlogout
  • .zpreztorc
  • .zprofile
  • .zshenv
  • .zshrc

たしか、上記のファイルがすでにあったらエラーが出たと思います。
お手持ちのZshの設定をあとで反映したいという方は、バックアップを作成して、元のファイルは削除してからコマンドを実行してください。

preztoに設定を追加する

.zpreztorc のファイルを開いてください。
大体30行めあたりに下記のコードがあります。

~/.zpreztorc
# Set the Prezto modules to load (browse modules).
# The order matters.
zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'completion' \
  'prompt'

このコードの 'prpmpt' の上に3つ設定を追加しました。
下記の状態になります。

~/.zpreztorc
# Set the Prezto modules to load (browse modules).
# The order matters.
zstyle ':prezto:load' pmodule \
  'environment' \
  'terminal' \
  'editor' \
  'history' \
  'directory' \
  'spectrum' \
  'utility' \
  'completion' \
+ 'git' \
+ 'syntax-highlighting' \
+ 'autosuggestions' \
  'prompt'

ふんわりした記憶で恐縮ですが、 'prompt' の上に入れないとだめらしいです :sweat_drops:
念の為に、'prompt' の上に追加しておきましょう。

他にもカスタマイズしたいという方は下記をご参考にしてください。
https://github.com/sorin-ionescu/prezto/tree/master/modules

デフォルトのエディタをvimにする

.zprofileを開いてください。
大体16行めあたりに下記のコードがあります。

~/.zprofile
#
# Editors
#

export EDITOR='nano'
export VISUAL='nano'
export PAGER='less'

デフォルトのエディタがnanoになっているので、vimに変更しておきます。
お好みのものを設定してください。

~/.zprofile
#
# Editors
#

- export EDITOR='nano'
- export VISUAL='nano'
+ export EDITOR='vim'
+ export VISUAL='vim'
export PAGER='less'

プロンプトのテーマを変更する

preztoが提供しているテーマを選んで変更しましょう。
私はpureというテーマにしてみました。

pure.png

コマンドを打った後に一行空けてくれるのがよいなと思いました。
ただ、Visual Studio Codedeだとターミナルの作業範囲が狭いので、一行のプロンプトテーマもいいなと思っているところではあります。 :thinking:

このあたりは、もうちょっと使ってみて選び直すなり、やっぱりiTerm2に戻るか考えようと思っています。

テーマの確認

では、テーマを選んでいきましょう。

prompt -l で用意されているプロンプトのテーマ一覧が確認できます。
私が設定したときは下記が表示されました。

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

テーマのプレビュー

prompt -p [テーマ名]でテーマをプレビューできます。

テーマの設定

prompt -s [テーマ名]でテーマを設定できます。

ちなみに.zpreztorcの中を書き換えても設定できます。
大体115行目にあると思います。
初期では一番最後がzstyle ':prezto:module:prompt' theme 'sorin'になっていると思います。
お好みのテーマに書き換えてください。

~/.zpreztorc
#
# Prompt
#

# Set the prompt theme to load.
# Setting it to 'random' loads a random theme.
# Auto set to 'off' on dumb terminals.
zstyle ':prezto:module:prompt' theme 'pure'

補足:Powerline fontsが必要なテーマがあります

agnosterなどの一部テーマではPowerline fontsが必要になります。
それらのテーマを使いたいかたは、インストールしてくださいね。

Powerline fonts

私は公式にあった下記の手順でインストールしました。

clone

git clone https://github.com/powerline/fonts.git --depth=1

install

cd fonts
./install.sh

clean-up a bit

cd ..
rm -rf fonts

インストール後お使いのターミナルなどでフォントの設定をします。
私はiTerm2と、Visual Stadio Codeの両方に設定して使ってみました。
どちらもPreferences(ショートカット ⌘, )の中にフォントの設定があります。

設定が完了したら、文字化けしていたテーマが使えるようになっていると思います。

ターミナル再起動

設定が終わったら、ターミナルを再起動して設定が反映されているか確認してください。
以上で設定は完了です。

お疲れさまでした! :sunny:

参考

47
44
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
47
44