LoginSignup
12
8

More than 5 years have passed since last update.

PSReadLine で PowerShell を bash のキーバインドにする

Last updated at Posted at 2017-10-18

PSReadLine について

Version3以上のPowerShellに対応した、GitHub上で開発されているPowerShellモジュールです。
詳細は以下のURLから確認できます。
https://github.com/lzybkr/PSReadLine

出来ること

  • キーバインドのカスタマイズ(いわゆるbashと同じEmacs風に出来ます)
  • シンタックスエラーがカーソル(>の部分)の色で分かる
  • Bashっぽい補完(ちょっと違う)
  • Bashっぽい履歴検索
  • その他色々あるらしい

インストール方法

  1. Windows+x → a で管理者権限でPowerShellを起動
  2. $ Install-Module PSReadlin を実行
  3. 指示に従ってインストールを完了させる
  4. 管理者権限のPowerShellのまま、 Set-ExecutionPolicy -ExecutionPolicy RemoteSignedを実行する(設定ファイルの読み込みのため)。
  5. 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で完全に補完します。

日本語の表示

補完候補に全角文字が含まれている場合は表示が崩れるようです。

所感

補完機能が微妙に惜しい。しかし、通常の状態から比べると、非常に便利になるのでおすすめです。

12
8
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
12
8