💻

【Windows Terminal】ぼくのターミナルが最強です(小並感)

2024/06/22に公開

概要

Windows Terminalのカスタム方法を記載します。
筆者はPowerShellをあまり使わないので、主にUbuntu向けです。

前提

  • WSL + Ubuntu + Windows Terminal がインストール済みであること

構成

  • OS:Windows11(PC)、Ubuntu22.04.3
  • Editor:Emacs
  • terminal multiplexer:tmux
  • font:HackGen Console NF
  • Theme:Oh My Posh

設定手順

Windows Terminal デザイン設定

配色(カラースキーム)

デフォルトのカラーテーマもなかなかいかしてるが、飽きてきたら以下のサイトがおすすめ。
https://iterm2colorschemes.com/
カラーテーマを.zip形式でダウンロードし、好きなデザインのjsonをWindows Terminalに設定する。

画面透過

透明度 > 背景の不透明度 で設定可能。
もちろんみんな透過してるよね?

背景画像

静止画だけじゃなくてGifを設定することもできる。
実際設定してみたけどごちゃごちゃしたので筆者は背景無し。

フォントフェイス

筆者はフォント白源(HackGen)がお気に入り。
インストール手順を以下に書いとく。

HackGen設定手順
  • HackGenをダウンロード
    https://github.com/yuru7/HackGen/ から「HackGen_NF_${version}.zip」をダウンロードする。
  • HackGenをインストール
    ダウンロードしたファイルを解凍し、ttfファイルをインストールする。
  • 設定
    Windows Terminal のフォントフェイスの設定からフォントを選択できる。

Ubuntu 設定

デザイン設定

Oh My Posh

UbuntuにOh My Poshをインストールする手順を記載する。

Oh My Poshをダウンロード
bash
sudo wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/posh-linux-amd64 -O /usr/local/bin/oh-my-posh
sudo chmod +x /usr/local/bin/oh-my-posh
テーマのダウンロード
bash
mkdir ~/.poshthemes
wget https://github.com/JanDeDobbeleer/oh-my-posh/releases/latest/download/themes.zip -O ~/.poshthemes/themes.zip
unzip ~/.poshthemes/themes.zip -d ~/.poshthemes
chmod u+rw ~/.poshthemes/*.omp.*
rm ~/.poshthemes/themes.zip
シェル起動時にOh My Poshを実行する

筆者は起動ごとにテーマが変わるように設定している。

.bashrc
fileArray=($(ls ~/.poshthemes/))
file=${fileArray[$(($RANDOM % ${#fileArray[*]}))]}
echo "mode: ${file}"
eval "$(oh-my-posh init bash --config ~/.poshthemes/${file})"

emacs 設定

エディタとして利用。
init.elの記載は省略

bash
sudo apt install emacs
emacs .bashrc
---
alias em='emacs -nw'
alias emacs='emacs -nw'
---

tmux 設定

ターミナル画面を複数のセッション、ウィンドウ、ペインに分割して利用できる。

bash
sudo apt install tmux
emacs .bashrc
---
# 以下を追記
alias tmux="tmux -u2"
count=`ps aux | grep tmux | grep -v grep | wc -l`
if test $count -eq 0; then
    echo `tmux`
elif test $count -eq 1; then
    echo `tmux a`
fi
---

その他

既存コマンドの代替

lsd

Rust製の高速ファイル情報表示コマンドツール。
lsの代替として使用する。

bash
sudo apt install cargo
cargo install lsd
emacs .bashrc
---
alias ll='lsd -alF'
alias ls='lsd'
alias la='lsd -altr'
---

htop

高機能なtopコマンドと思ってもらえれば。

bash
sudo apt install htop
emacs .bashrc
---
alias top='htop'
---

Discussion