PSReadLine について
Version3以上のPowerShellに対応した、GitHub上で開発されているPowerShellモジュールです。
詳細は以下のURLから確認できます。
https://github.com/lzybkr/PSReadLine
出来ること
- キーバインドのカスタマイズ(いわゆるbashと同じEmacs風に出来ます)
- シンタックスエラーがカーソル(>の部分)の色で分かる
- Bashっぽい補完(ちょっと違う)
- Bashっぽい履歴検索
- その他色々あるらしい
インストール方法
- Windows+x → a で管理者権限でPowerShellを起動
-
$ Install-Module PSReadlin
を実行 - 指示に従ってインストールを完了させる
- 管理者権限のPowerShellのまま、
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned
を実行する(設定ファイルの読み込みのため)。 -
C:\Users\[ユーザー名]\Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
に以下の内容を記述。
Import-Module PSReadLine # モジュールの有効化
Set-PSReadlineOption -EditMode Emacs # Emacs的なキーバーインドを有効化
使い方
通常通り PowerShell を起動すると、有効化された状態で使えます。
キーバインドの確認
Get-PSReadlineKeyHandler
で現在のキーバインドを確認する事ができます。
上記の設定ファイルの場合は、通常のbashと同じ感覚で操作できます。
ファイル名の補完について
完全に bash 等と同じ感覚で使うことが出来ます。
たまに入力していた文字が消えることがありますが、発生条件は謎です。
関数・コマンドの補完について
Tabで補完候補を表示しますが、補完選択はCtrl+Spaceを使う必要があります。つまり、入力中Tabで確認し、補完候補が十分少なくなったらCtrl+Spaceを押して十字キーで補完対象を選択します。
補完対象が1つしかない場合は、Tabで完全に補完します。
日本語の表示
補完候補に全角文字が含まれている場合は表示が崩れるようです。
所感
補完機能が微妙に惜しい。しかし、通常の状態から比べると、非常に便利になるのでおすすめです。