シェルをもっとカスタマイズ

前回、Windows Terminalの各シェルごとに設定できる個別設定項目をいくつか取り上げて紹介した。個別設定項目は細かなものも多いが、非常に多く用意されている。今回も、前回に引き続き、いくつかの設定項目をサンプルとして紹介したい。

なお本稿で取り上げている個別設定項目は、執筆時時点の最新バージョンであるv 0.9で設定できる項目となっている。

個別設定項目のサンプル(Windows Terminal v0.9時点)

Windows Terminalの各シェルへの設定は、「profiles.json」の「profiles:[]」内にあるそれぞれのシェルごとに用意されている「”{}”」内に記述するようになっている。例えば、次のような設定を追加してみよう。

cursorShapeを設定

カーソルの形が変わる

cursorShapeはカーソルの形をカスタマイズできる設定項目だ。cursorShapeの後に設定したいカーソルの見た目を設定する。カーソルのかたちはデフォルトでは「bar」となっており、縦に細長いカーソルとなっている。これを横に細長くして表示する「underscore」に変更している。他にも極太のfilledBoxや四角い枠のemptyBoxといったカーソルの形を指定できる。

各シェルの起動時のデフォルトのフォルダ(ディレクトリ)の場所はログインユーザーのホームフォルダ(ホームディレクトリ)となっている。この起動時のフォルダの場所は、設定項目startingDirectoryで変更できる。

例えば、ホームフォルダ内にある「WORK」というフォルダを起動時の場所に変更したいのであれば、次のように設定する。ユーザー環境変数である%USERPROFILE%の利用が可能となっている。またC:/Users/ユーザー名/WORK/といったように直接パスを指定してもかまわない。

startingDirectoryを設定

起動時のフォルダの場所が変更

起動時のシェルの挙動に関して設定項目commandlineを使って制御することができる。例えば、PowerShellのcommandlineとして実行ファイルである「Powershell.exe」がデフォルトで指定されている。このコマンドラインにオプションを指定しておけば、起動時にオプション付きで実行されるようになる。

次のようにPowerShellのオプションとして「NoLogo」を指定して立ち上げると、起動時に出ていたテキストロゴが表示されなくなる。

commandlineを編集

起動時にオプションが有効に

一例としてロゴを非表示にするオプションを指定したが、PowerShellにはほかにも多くのプションが用意されている。スクリプトを作成しておき、起動時に「NoExit」や「ExecutionPolicy」をオプションに実行させる、といったことも可能だ。

シェル内部の表示で言えば、表示テキストの周りにスペース(空白)を設定できる「padding」という設定項目がある。例えば、次のように設定すると、テキストの左側にスペースができるはずだ。

「padding」を設定

シェル内のテキストの左側にスペースができる

paddingに設定する値は、「左辺との距離,上辺との距離,右辺との距離,下辺との距離」となっている。設定例ではわかりやすく左辺のみスペースを入れている。なおデフォルトではpaddingには「8,8,8,8」と設定されている。

テキストの表示に関係するスクロールに関する設定もいくつか紹介しよう。scrollbarStateを利用すれば、スクロールバーの表示または非表示を制御できる。例えば次のようにscrollbarStateの値に「hidden」を指定すると、右側に表示されるスクロールバーがなくなる。

scrollbarStateを設定

スクロールバーの表示(左)と非表示(右)

設定項目snapOnInputを利用すると、コマンドまたは文字を入力する際にプロンプトに移動するかしないかを設定することができる。

通常、出力結果などを閲覧するためにページを上にスクロールした後に手動でプロンプトまでスクロールしなくても何か入力しようとすると自動でプロンプトのページまでスクロールダウンされるが、この値を変更することで入力作業を行っても自動でプロンプトまでスクロールしなくなる。

デフォルトでは「true」となっており、次のように「false」を指定することで無効にできる。

snapOnInputを設定

入力作業をしてもプロンプトまで自動でスクロールしない

利用環境に合わせたカスタマイズを

今回は、シェル内部の表示に関する個別設定項目を紹介した。特に起動時のフォルダを指定できる設定は、シェル起動ごとに特定の作業用フォルダに移動する手間を省くことができる。またコマンドラインの設定は、PowerShellにはさまざまなオプションがあるのでユーザーによっては利用機会はあるのではないかと思う。

Windows Terminalでどのシェルを利用するかはユーザーによって異なるが、使用環境に合わせて個別設定項目を利用し、個性を出してみてもらいたい。

参考資料