#MacBook Air(2020)を買いました
2012 MidのMacBook Air、なぜか"p"だけ打てなくなったり。「もう使用の限界。気力もなくなり」(千代の富士) MacBook Air(2020)に買い替えました。※嬉しくてただの自慢ですのでスルーしてください。
##Terminalがbashからzshに
MacBook Air(2020)はmacOS Catalina(10.15)となり、Terminalの標準shellがbashからzshに変更されました。
macOS 10.15 Catalina でターミナルのやつが zsh になった
で、こちら⬇
お前らのターミナルはダサい
を読んで大いに刺激をうけ、zshのカスタマイズに挑んだ次第であります。
以下ほぼこのQiitaのまんまですが、ところどころCatalinaで補完した内容となっております。
##デフォルトのTerminal
うん…だめだわ。
とりあえずbrewは使えるようにしといてね。
##まずはフォントRictyから
参考:Homebrewを使ってRictyをインストール
Rictyの他に、派生フォントRicty Discordもインストールされます。
$ brew tap sanemat/font
$ brew install ricty
$ cp -f /usr/local/opt/ricty/share/fonts/Ricty*.ttf ~/Library/Fonts/
$ fc-cache -vf
ついでにRicty Diminishedも
参考:HomebrewでRicty Diminishedをインストールする方法
$ brew tap homebrew/cask-fonts
$ brew cask install font-ricty-diminished
##次にTerminalのテーマIceberg
http://cocopon.github.io/iceberg.vim/
のっけからサイトがカッチョいい!
こちらIcebergの一番下にある「Iceberg for macOS」の[Download]をクリックしてTerminalのテーマをダウンロード。
zipを解凍すると"iceberg.terminal"というTerminalテーマが出てくるので、Terminalの環境設定から読み込む。正直これで起動させてもあんまりパッとしません。後からわかりますから。
で、フォントをRictyにします。DiminishedでもDiscordでも、お好きなのをどうぞ。
##zshのフレームワークPreztoのインストール
$ git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto"
ユーザーディレクトリ以下に.zpreztoディレクトリができる。
次にシンボリックリンクを色々と張る。
$ setopt EXTENDED_GLOB
for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do
ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}"
done
ls -laすると何やらzsh系の設定がzprezto以下にシンボリックリンクを張っているのがわかります。
lrwxr-xr-x 1 zooiiooz staff 39 4 28 21:53 .zlogin -> /Users/zooiiooz/.zprezto/runcoms/zlogin
lrwxr-xr-x 1 zooiiooz staff 40 4 28 21:53 .zlogout -> /Users/zooiiooz/.zprezto/runcoms/zlogout
drwxr-xr-x 13 zooiiooz staff 416 4 28 21:48 .zprezto
lrwxr-xr-x 1 zooiiooz staff 42 4 28 21:53 .zpreztorc -> /Users/zooiiooz/.zprezto/runcoms/zpreztorc
lrwxr-xr-x 1 zooiiooz staff 41 4 28 21:53 .zprofile -> /Users/zooiiooz/.zprezto/runcoms/zprofile
-rw------- 1 zooiiooz staff 459 4 28 21:27 .zsh_history
lrwxr-xr-x 1 zooiiooz staff 39 4 28 21:53 .zshenv -> /Users/zooiiooz/.zprezto/runcoms/zshenv
lrwxr-xr-x 1 zooiiooz staff 38 4 28 21:53 .zshrc -> /Users/zooiiooz/.zprezto/runcoms/zshrc
##sorinテーマ
一旦ログインして再度ターミナルを開くとデフォルトテーマのsorinが適用されています。
3色3連プロンプト!!!
やだ…カッコいい…。
Basicでもこうなの!?
不要なホスト名、ユーザー名が出てこないし、表示具合もいい感じ。Tabを押しなっせ。ディレクトリの補完も良い。
##テーマをsorinからpureに変更してみる
デフォルトテーマはsorinになっています。
#現在のテーマの確認
$ prompt -c
Current prompt theme is:
sorin
他のテーマも見てみましょう。
-lオプション
$ 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
何やら色々ありますが、pureに変更してみます。
エディタで.zshrcを編集します。
$ nano .zshrc
以下を追加します。
# Customize to your needs...
autoload -Uz promptinit
promptinit
prompt pure #ここがテーマ名になります。
変更後はshellの設定を再読み込み
exec $SHELL -l
pureテーマのプロンプトは2行となっており、非常に見やすい。
しかも、gitの状態もわかるようになっています。
しかし、sorinの3連プロンプトも捨てがたい…。ぐぬぬ。
じゃあ、pureの"❯"を"❯❯❯"にしてみますか!
###pureの設定ファイルのカスタマイズ
#####sorinの3連プロンプト
まずsorinの3連プロンプトの秘密に迫ってみましょう。
sorinの設定ファイルは
~/.zprezto/modules/prompt/functions/prompt_sorin_setup
にあります。
この中にある、「zstyle ':prezto:module:editor:info:keymap:primary'」の
「format ' %B%F{1}❯%F{3}❯%F{2}❯%f%b'」が3連プロンプトの部分になります。
%B〜%bで囲まれた部分が太字(Bold)、%F{1}%F{3}%F{2}は色の指定です。
# Set editor-info parameters.
zstyle ':prezto:module:editor:info:completing' format '%B%F{7}...%f%b'
zstyle ':prezto:module:editor:info:keymap:primary' format ' %B%F{1}❯%F{3}❯%F{2}❯%f%b'
zstyle ':prezto:module:editor:info:keymap:primary:overwrite' format ' %F{3}♺%f'
zstyle ':prezto:module:editor:info:keymap:alternate' format ' %B%F{2}❮%F{3}❮%F{1}❮%f%b'
#####pureの設定ファイル
pureの設定ファイルは
~/.zprezto/modules/prompt/functions/prompt_pure_setup
ですが、
~/.zprezto/modules/prompt/external/pure/pure.zsh
にシンボリックリンクが張られています。
元ファイルはこちらなので、こちらをバックアップしてから編集します。
$ cp pure.zsh pure.zsh_bak
$ nano pure.zsh
さてプロンプト❯は何箇所あるでしょうか。
$ cat pure.zsh_bak | grep ❯
prompt_pure_state[prompt]=${PURE_PROMPT_SYMBOL:-❯}
prompt_pure_state[prompt]=${${KEYMAP/vicmd/${PURE_PROMPT_VICMD_SYMBOL:-❮}}/(main|viins)/${PURE_PROMPT_SYMBOL:-❯}}
prompt "${PURE_PROMPT_SYMBOL:-❯}"
"PURE_PROMPT_SYMBOL:-❯"
というのが3箇所ありますね。
これを
"PURE_PROMPT_SYMBOL:-%B%F{1}❯%F{3}❯%F{2}❯%f%b"
に一気に変換します。
nanoだと^W + ^Rで。
3箇所置換が終わったら保存終了してshellを再起動
$ exec $SHELL -l
#####※カスタマイズ
syntax-highlightingとautosuggestionsのmoduleを有効にしてみる。
.zpreztorcを編集します。
以下を必ずpromptより前に持ってくる。
'syntax-highlighting'
'autosuggestions' \
# Set the Prezto modules to load (browse modules).
# The order matters.
zstyle ':prezto:load' pmodule \
'environment' \
'terminal' \
'editor' \
'history' \
'directory' \
'spectrum' \
'utility' \
'completion' \
'syntax-highlighting' \
'autosuggestions' \
'prompt'