Oh My Poshでいい感じのターミナル生活
はじめに
プログラミングをしていると、IDEやフォント、テーマなどは自分好みにカスタマイズする場面があると思います。
しかし、ターミナルを使う場面はたくさんありますが、ターミナルのデザインについては無頓着になってしまったりします。
今日は、いい感じのターミナル生活ができるOh My Poshについて話したいと思います。
なお、今回の記事ではWindowsでの導入をやっていきます。
特徴
既存のターミナルを使える
Windows, Mac, Linux, SSH, Dockerなど、どんな開発環境でも使える
いい感じのデザインを自由に選べる
なんといっても、豊富なデザインから自分にあったものを選ぶことができます。
Windows Terminal(Power Shell)への導入
最初にWindows Terminal への導入をしてみます。
基本的にはDocumentを参考にすすめていきます。
はじめにwingetを使ってOh My Poshをインストールします。
winget install JanDeDobbeleer.OhMyPosh -s winget
ターミナルを再起動したら、次にフォントを入れます
oh-my-posh font install
Nerd Fontというフォントファミリーであれば、Oh My Poshは対応しています。公式ではその中でもMeslo LGM NFを推奨しています。
Nerd FontのMesloを入れるコマンドは次のとおりです。
oh-my-posh font install meslo
私は0xProto NFにしました。
その後、WindowsターミナルのフォントをNerd Fontにしないと、文字化けるので、設定します。
「設定」→「既定値」→「外観」→「フォントフェイス」と進み、好きなNerd Fontにします。
これで、文字化けしないようになります。
その後、PowerShell起動時に、Oh My Poshを起動して、外観を変更するように設定します。
PowerShell以外のShellを使っている人は、以下のDocumentを参考にしてください。
まず、既にPowerShellのプロファイルを編集した事がある場合は、それを開きます
notepad $PROFILE
PowerShellをのプロファイルを編集したことがない場合は、次のコマンドでプロファイルを新規作成してから実行します。
New-Item -Path $PROFILE -Type File -Force
メモ帳が開かれるので、次の一行を追加して、保存して閉じます。
oh-my-posh init pwsh | Invoke-Expression
あとは、PowerShellを再起動すれば、いい感じのターミナルが表示されています。
テーマを変えてみる
無事インストールできたら、次はテーマを変更してみます。
既存のテーマはDocumentに書いてあり、次のコマンドでも確認できます。
Get-PoshThemes
また、テーマの変更方法もDocumentに書いてあります。
どうやらテーマのファイルを、上で設定したプロファイルで指定すれば良いようです。
--config 'C:/Users/Posh/jandedobbeleer.omp.json'
--config 'https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/jandedobbeleer.omp.json'
またテーマファイルは、Windowsではデフォルトで以下のディレクトリにも格納されていました。
C:\Users\username\AppData\Local\Programs\oh-my-posh\themes
好きなテーマファイルを--configで指定すればOKですね。
試しにEasy Termのテーマへ変更してみます。
もう一度、PowerShellのプロファイルを開き、追加した行を次のように変更します。
oh-my-posh init pwsh --config 'https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/easy-term.omp.json' | Invoke-Expression
※オンラインでのテーマ読み込みURLは、https://github.comではなく、https://raw.githubusercontent.comにしてください。
プロファイルを読み込むか、ターミナルを再起動するとテーマが変更されて
います。
入力欄が改行されたところから始まり、右側にRAMの使用率が表示されています。
Tokyoというテーマを試してみます。
oh-my-posh init pwsh --config 'https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/tokyo.omp.json' | Invoke-Expression
個人的には、RAMが表示されているテーマが気に入りましたが、他にもいろいろありますね。
CPUの使用率を表示できるテーマもあります(Wholespace)。
細かいところは、自分でカスタマイズしていくのが良さそうです。Documentにもカスタマイズの方法が書いてあります。
SSH接続時のターミナルへの導入(Ubuntu SSH)
ローカルネットワーク上のリモートPCへSSH接続したときにも、Oh My Poshを使ってくれるように設定します。
やり方は単純で、リモートPC上にもOh My Poshをインストールすれば、Windows TerminalでSSH接続しても、Oh My Poshが有効になります
まず、リモートPC(Ubuntu 22.04)にOh My Poshを入れます。Documentには、マニュアルインストールかhomebrewで入れる方法が書いてあります。
ここでは、homebrewで入れる方法を採用しました。
そのためにhomebrewを入れます。build-essentialとgccが入っていることをあらかじめ確認しておきます。
sudo apt install build-essential gcc
その後はhomebrewのdocumentに書いてあるスクリプトを実行します。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
少し待つと、インストールが完了します。「==> Next steps:」という案内に従って、.bashrcへの起動コマンドを書き込んでおきます。
無事、homebrewがインストールできたら、Oh My Poshをインストールします。
brew install jandedobbeleer/oh-my-posh/oh-my-posh
その後、.bashrcへoh-my-poshが起動するように追記しておきます。
eval "$(oh-my-posh init bash --config 'https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/wholespace.omp.json'
--configでテーマも指定しておけば、ssh接続時にもテーマが適用されます。
bashrcへの書き込みができたら、SSH接続を(bashを起動)すれば、Oh My Poshが使えています。
なんかRAMの表示がおかしいような気がしますが、とりあえずこれで導入はできました。
VS Codeのターミナルでの表示
vs codeでもOh My Poshを使えるようにします。
VS Codeを開き、「ファイル」→「ユーザー設定」→「設定」へと進み、設定画面を開きます。右上の「設定(JSON)を開く」を押して、setting.jsonを開き、編集します。
以下の様にoh-my-poshの起動と、powershellの実行ファイルの 指定をします。テーマファイルは上で述べたように好きなものを選んでください。
,
"terminal.integrated.profiles.windows": {
"Powershell Prompt": {
"args": [
"-NoExit",
"-Command",
"oh-my-posh init pwsh --config 'https://raw.githubusercontent.com/JanDeDobbeleer/oh-my-posh/main/themes/wholespace.omp.json' | Invoke-Expression;"
],
"path": "C:\\Program Files\\PowerShell\\7\\pwsh.exe"
}
}
VS Codeを再起動して、「ターミナル」→「新しいターミナル」を開くと、Oh My Poshが起動して、いい感じのターミナル画面が開かれます。
おわりに
今回の記事では、Oh My PoshをWindowsの開発環境に導入してみました。
PowerShell、SSH(Ubuntu)、VS Codeへの導入が完了しました。
基本的に、リモートの環境のターミナルを開いても、リモート環境にOh My Poshが入っていれば、動作します。そのため、DockerやDev Containerなどでも、Dockerfileやdocker-composeでOh My Poshのインストールと設定をしておけば、動きます。
また、Gitのレポジトリの表示機能が優れていますし、多くのテーマがあるため気に入ったUIを選択できるのも良い点だと思いました。
この記事が気に入ったらサポートをしてみませんか?