Windows 11 の Ubuntu で zsh に prezto と powerline10k と peco の設定した記録を残します。完全に自分用の忘備録です。
前提
この記事でできるようになること
- prezto で zsh でのコマンドのサジェストとコマンドのシンタックスハイライトが作るようになる
- powerline10k でポチポチしてるだけで自分好みのプロンプトテーマになる
- peco でコマンドヒストリを一覧表示できるようになる
各種設定
zsh の確認
現在のシェルが zsh になっていることを確認。
% echo $SHELL /usr/bin/zsh
なっていなければ、zsh のパスに変更。
chsh -s /usr/zsh # chsh -s /usr/bin/zsh でもよい exec zsh -l
Prezto のインストール
Prezto は zsh の設定をするためのツール。このあとの Powerlevel10k の設定とサジェストとシンタックスハイライトのためにインストールする。
https://github.com/sorin-ionescu/prezto?tab=readme-ov-file#installation
git clone --recursive https://github.com/sorin-ionescu/prezto.git "${ZDOTDIR:-$HOME}/.zprezto" # 念のため zsh 関連ファイルをバックアップ cp ~/.zshrc ~/.zlogin ~/.zlogout ~/.zpreztorc ~/.zprofile ~/.zshenv /tmp # 実行前に関連ファイルは削除しないとエラーが出る rm ~/.zshrc ~/.zlogin ~/.zlogout ~/.zpreztorc ~/.zprofile ~/.zshenv # github の手順からコピペと実行 setopt EXTENDED_GLOB for rcfile in "${ZDOTDIR:-$HOME}"/.zprezto/runcoms/^README.md(.N); do ln -s "$rcfile" "${ZDOTDIR:-$HOME}/.${rcfile:t}" done exec $SHELL -l

カラフルなシェルが表示されればインストール成功。
Powerlevel10k のインストール
Powerlevel10k は Prezto で扱えるプロンプトテーマ設定ツール。
https://github.com/romkatv/powerlevel10k?tab=readme-ov-file#getting-started
最初はフォントのダウンロード。公式も推奨している。
https://github.com/romkatv/powerlevel10k?tab=readme-ov-file#manual-font-installation

4つのフォントをクリックするとダウンロードされるので、それぞれ実行して、インストールボタンを押す。

Ubuntu の設定を開き、既定値 > 外観 > フォントフェイス から先ほどインストールした「MesloLGS NF」を設定→保存する。

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/powerlevel10k echo 'source ~/powerlevel10k/powerlevel10k.zsh-theme' >>~/.zshrc exec $SHELL -l
シェルを再起動すると Powerlevel10k のプロンプト設定が開くので、適当に設定する。

自分はこんな感じの見た目になった。シンプルなのが好き。
Prezto で自動保管とシンタックスハイライトを有効化する
Prezto を使っていると設定ファイルにすでにいい感じの設定例がコメントアウトされている。
vim ~/.zpreztorc
~/.zpreztorc を編集。
# Set the Prezto modules to load (browse modules). # The order matters. zstyle ':prezto:load' pmodule \ 'environment' \ 'terminal' \ 'editor' \ 'history' \ 'directory' \ 'spectrum' \ 'utility' \ 'completion' \ 'history-substring-search' \ 'prompt' \ 'autosuggestions' \ # <-- 追加 'syntax-highlighting' # <-- 追加 略 # # Syntax Highlighting # # Set syntax highlighters. # By default, only the main highlighter is enabled. zstyle ':prezto:module:syntax-highlighting' highlighters \ # コメントアウトを外す 'main' \ 'brackets' \ 'pattern' \ 'line' \ 'cursor' \ 'root' # Set syntax highlighting styles. # zstyle ':prezto:module:syntax-highlighting' styles \ # 'builtin' 'bg=blue' \ # 'command' 'bg=blue' \ # 'function' 'bg=blue' # Set syntax pattern styles. zstyle ':prezto:module:syntax-highlighting' pattern \ # コメントアウトを外す 'rm*-rf*' 'fg=white,bold,bg=red'
exec $SHELL -l

コマンドに色がついてサジェストも出るようになった。
peco のインストール
peco を使ってコマンドヒストリを一覧・フィルタリングできるようにする。
https://github.com/peco/peco?tab=readme-ov-file#installation
sudo apt install peco vim ~/.zshrc
.zshrc の末尾に以下を追加。
# C-R: peco-history-selection function peco-history-selection() { BUFFER=$(\history -nr 1 | peco --layout=bottom-up) CURSOR=${#BUFFER} zle reset-prompt } zle -N peco-history-selection bindkey '^R' peco-history-selection
source ~/.zshrc

Ctrl-R で過去のヒストリを一覧表示できるようになった。
emacs の設定
正直記事の趣旨からすると蛇足だが、自分は emacs を簡単なファイル編集で使うので、設定する。
sudo apt install emacs vim ~/.emacs
emacs の設定ファイルは .emacs か .emacs.d フォルダ。
;; *.~ とかのバックアップファイルを作らない (setq make-backup-files nil) ;; .#* とかのバックアップファイルを作らない (setq auto-save-default nil) ;; スクロールを1行ずつ (setq scroll-step 1) ;; 行番号・桁番号をモードラインに表示する (line-number-mode t) (column-number-mode t) ;; スタートアップメッセージを非表示 (setq inhibit-startup-message t)
vim ~/.zshrc
Ubuntu 上では emacs を GUI ではなくターミナル上で起動させたいので、emacs と打つだけでそうなるように alias を張る。
alias emacs='emacs -nw'
source ~/.zshrc