LoginSignup
0
0

More than 1 year has passed since last update.

Oh My Poshを利用してcmdプロンプト(Clink)をいい感じにする

Last updated at Posted at 2022-11-07

Oh My PoshPoshというPowerShellの短縮形が命名にはいっている事からわかるように。
元々はPowerShellのコマンドプロンプトをいいかんじにするPowerShellモジュールでありましたが、今現在は、PowerShell以外のシェルについてもいい感じにするようサポートされています。

本記事ではcmdプロンプト(Clink)をいい感じにしてみます

ドキュメント

Change your prompt | Oh My Posh
chrisant996/clink
Overview | Clink

Clinkとは?

ClinkはWindowsのシェルであるcmd.exeGNU Readline libraryの補完、履歴、行編集を追加するプロジェクトのようです。

Oh My Poshcmd.exeに対して、直接カスタムプロンプトを提供はしませんが。
Oh My PoshClinkは簡単に統合できるようになっています。

なおClinkはオリジナルはMartin Ridgersさんのmridgers/clinkになるようですが、2022年現在は更新されておらず。

フォークされたchrisant996/clinkが更新されている状況のようです。

Clinkをインストールする

Overview | Clink

ZIPのポータブル版、EXEのインストーラー版があるようです。

本記事ではインストーラー版からインストールします。

image.png

デフォルト設定すべてにチェックが入っていました。(ショートカット、%CLINK_DIR%の追加、自動起動等々)

Autorun when cmd.exe startscmd.exeを起動する時に、自動でClinkを起動するようにオプションでデフォルトでチェックがついています。

cmd.exeをスタートする時に常にClinkを開始してくれるのはよさそうですが、多少起動が遅くなると記載があるので今回はチェックオフ。

image.png

デフォルトのインストールパスのママインストール

image.png

インストール成功

image.png

インストールオプションで指定したスタートメニューにClinkが追加されました。

image.png

インストールオプションで指定したユーザー環境変数を確認すると、%CLINK_DIR%が登録されていました。

image.png

Clinkを起動してみる(スタートメニュー)

スタートメニューに登録されてClinkから選択すれば起動します。

image.png

Clinkのバージョン情報が表示されて起動してきました。

image.png

Clinkを起動してみる(コマンドプロンプトから)

ドキュメントを参照すると既存のプロセスでClinkを起動する方法が記載されていました。

Usage

既存プロセスでClinkを起動するには下記コマンドを実行します。 <install_dir> はインストール時に選択したディレクトリ。

<install_dir>\clink inject

インストーラで環境変数CLINK_DIRを設定するオプションにチェックしてインストールしている場合は、下記環境変数を参照する形でも問題なさそう。

cmd.exe /K "%CLINK_DIR%\clink" inject

Windows TerminalからClinkを起動できるようにする

既存のプロセス上から先程の用法でClinkを利用できるので下記のようにWindows Terminalに設定すればOK。

image.png

Need to open clink in windows terminal ?

image.png

Autorun when cmd.exe startsオプションを有効にしてインストールすると、cmd.exe起動時に自動的にClinkが有効になるのでその場合は単純にcmd.exe起動すればClinkも有効になっている気がします。

ClinkでOh My Poshを利用できるようにする

Change your prompt | Oh My Posh

Clink scripts directoryに下記設定ファイル(oh-my-posh.lua)を配置すればClinkOh My Poshが連携します。

oh-my-posh.lua
load(io.popen('oh-my-posh init cmd'):read("*a"))()

Clink scripts directoryについては、Clinkが起動している状態でclink infoを実行するとscriptsとして表示されます。

image.png

ユーザーフォルダ配下のAppData\Local\clinkoh-my-posh.luaを格納しました。

image.png

Clinkを起動し直すと、Clinkのプロンプト表示がいい感じになりました。

image.png

設定するテーマを切り替える

oh-my-posh.luaを下記のように書き換えれば、読み込むテーマを変更できました。

oh-my-posh.lua
load(io.popen('oh-my-posh init cmd --config "<oh-my-posh_theme_path>"'):read("*a"))()

下記はOh My Poshの標準テーマ1_shellを設定している例。

oh-my-posh.lua
load(io.popen('oh-my-posh init cmd --config "%POSH_THEMES_PATH%\\1_shell.omp.json"'):read("*a"))()

oh-my-posh.luaを更新して起動しなおすと、1_shellテーマに変更されている事を確認できます。

image.png

総評

Oh My Poshという名前ですが、cmd.exe(Clink)もプロンプト表示をリッチにできるのは、名前的にちょっと混乱します。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0