ターミナルは、ユーザーとオペレーティングシステムの間での最も基本的な入出力環境であり、いくつかの高度なシステム操作には必要なツールです。
スクリプトのデバッグを頻繁に行い、git をよく使用するため、今日は学習環境として使用するために使いやすいシェルをセットアップすることにしました。
以下では、実際には非常に強力ですが、少し見た目が悪いPowerShellをカスタマイズしていきます。
PowerShell のテーマを変更する#
Microsoft は、PowerShell のテーマカラーを変更するためのツールである ColorTool.exe を提供しています。
このツールを使用して、ColorTool のGitHub ページからダウンロードすることができます。もちろん、Scoop や Chocolatey を使用してインストールすることもできます:
Scoop
scoop install colortool
Chocolatey
choco install colortool
私は、優れたパッケージマネージャであるScoopを使用して ColorTool をインストールすることをお勧めします。
ColorTool の使用は非常に簡単です。次のコマンドを使用して、ツールに付属しているいくつかのテーマを表示できます:
# 注:-sはschemesを表します
colortool -s
先頭のいくつかの.ini および.itermcolors は、テーマの設定ファイルです。次のコマンドを使用してテーマを設定できます:
# 一時的に表示
colortool <テーマ名>
# デフォルト値を設定
colortool -d <テーマ名>
たとえば、テーマの色を OneHalfDark.itermcolors に変更したい場合は、次のコマンドを入力して変更し、更新をプレビューできます:
colortool OneHalfDark
ColorTool は直接 iTerm のテーマ設定ファイルをサポートしているため、iterm2colorschemes ウェブサイトで背景テーマを見つけて設定することができます。方法は先ほど紹介したものと同じです:PowerShell で変更したいテーマファイルに移動し、
colortool <テーマ名>.itermcolors
コマンドを使用して設定します。また、上記のテーマに満足していない場合は、terminal.sexy というウェブサイトで独自のテーマを設定し、同じ方法で適用することもできます。
PowerShell のフォントを改善する#
ほとんどの人にとって、デフォルトの PowerShell の「新宋体」は本当に見栄えが悪いです。
Microsoft は、コンソールフォントのメタデータに制限があるため、次の条件を満たす必要があります:
これらのフォントは、次の条件を満たす必要があります。
フォントは等幅である必要があります。
フォントはイタリック体であってはなりません。
フォントには A または C の負のスペースがない必要があります。
TrueType フォントの場合、FF_MODERN である必要があります。
TrueType フォントでない場合、OEM_CHARSET である必要があります。
アジアのフォントの追加条件:
TrueType フォントでない場合、フォント名は「Terminal」である必要があります。
アジアの TrueType フォントの場合、アジア言語の文字セットを使用する必要があります。
多くの人々が、プログラミングに適した等幅フォントである Consolas を PowerShell のフォントとして使用することを好むかもしれませんが、ここでは「Sarasa Gothic / 更纱黑体 / 更紗黑體 / 更紗ゴシック」(更纱黑体)をおすすめします。これは、Sarasa Gothic のGitHub ページからダウンロードできます。
Sarasa Gothic をダウンロードして解凍し、PowerShell ターミナルを再起動すると、メニューバーで右クリックし、「プロパティ - フォント」を選択し、フォントで Sarasa Gothic を選択できます。ターミナルに適した等幅フォントは、「等距更纱黑体 T SC」または「Sarasa Mono T SC」です。
これでフォントは「新宋体」から「更纱黑体」に変更されました。
PowerShell のプロンプトユニットをカスタマイズする#
PowerShell や他のシェルの基本的なコマンドユニットは次のような構造です:
- 前半部分はプロンプトであり、ユーザー、システム、開発環境、バージョン管理など、有用な情報を表示することができます。
- 後半部分は具体的なコマンドであり、操作を実行する際に入力する場所です。
oh-my-posh のインストール#
まず、管理者権限で PowerShell を起動して、インストール操作を実行する必要があります(具体的には、[スタート] ボタンを右クリックし、「Windows PowerShell(管理者)」を選択します)。
次に、次のコマンドを実行して posh-git をインストールします。これは oh-my-posh の依存関係です。
Install-Module posh-git -Scope CurrentUser
NuGet プロバイダがインストールされていない場合は、NuGet のインストールを求められます。任意のスクリプトの実行が有効になっていない場合も、スクリプトの実行を求められる場合があります。スクリプトの実行権限がない場合は、次のコマンドを実行する必要があるかもしれません。
Set-ExecutionPolicy Bypass
次に、次のコマンドを実行して oh-my-posh 自体をインストールします。
Install-Module oh-my-posh -Scope CurrentUser
これで oh-my-posh のインストールが完了しました。
oh-my-posh の設定#
次に、oh-my-posh を設定する必要があります。
まず、
if (!(Test-Path -Path $PROFILE )) { New-Item -Type File -Path $PROFILE -Force }
notepad $PROFILE
と入力して、メモ帳で開いたプロファイルファイルに次の内容を追加します。
Import-Module posh-git
Import-Module oh-my-posh
Set-Theme Agnoster
すべてが順調にいけば、PowerShell を再起動すると、先頭のセクションのスクリーンショットと同じように表示されるはずです。
PS:設定ファイルの最後の行Set-Theme Agnoster
はテーマを設定するためのものです。このコマンドの中の Agnoster(「テーマ名」)を変更することで、テーマを変更できます。さらに多くのテーマは、oh-my-posh のドキュメント #テーマで確認できます。
サードパーティのターミナルと PowerShell の連携#
現在、私が使用しているものと記事内のスクリーンショットは、ConEmu+Powershell を基にしています。
ゴゴゴ
より Windows 10 スタイルに近いサードパーティのターミナル#
Fluent Terminal#
一定期間試用しましたが、本当に素晴らしいです。
Hyper#
試していません
Terminus#
試していません
ConEmu#
WSL + zsh の使用#
これについてはよくわかりません。.jpg チャンスがあれば試してみます。
終わりに#
これで、Windows 10 のデフォルトのターミナルである PowerShell のカスタマイズが完了しました。お楽しみください。