見出し画像

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を選択できるのも良い点だと思いました。

この記事が気に入ったらサポートをしてみませんか?