概要
以下、私のメモです。忘れそうなので。。
PSReadLineモジュールを使うと、PowerShellにてEmacsキーバインドを有効にすることが出来ます。
Linuxのシェル操作に慣れていると、Ctrl+m
とか Ctrl+i
とか Ctrl+e
とか Ctrl+u
とかを使いたくなります。
以下、自分の環境でうまく行った手順です。
PSReadLineを最新版に
予測 IntelliSense を利用したいので、最新版にします。
> Install-Module -Name PSReadLine -AllowPrerelease -Force
プロファイルに設定を追加
以下の内容をプロファイルに追加します。
if ($host.Name -eq 'ConsoleHost') { # PSReadLineモジュールを有効に Import-Module PSReadLine # キーバインドをEmacsスタイルに Set-PSReadLineOption -EditMode Emacs # 予測Intellisenseを有効に Set-PSReadLineOption -PredictionSource History # Ctrl+i で Linux のシェルのように補完が出来るように Set-PSReadLineKeyHandler -Key Ctrl+i -Function Complete # Ctrl+f で 1単語すすめるように(予測Intellisenseを確定させる際に使える) Set-PSReadLineKeyHandler -Key Ctrl+f -Function ForwardWord }
保存したら、一度Windowsターミナルとかを落として再起動します。
次起動すると、Linuxのシェルと同様のキーバインドが有効となっています。
予測 IntelliSense を使ってみる
予測 IntelliSense とは以下のようなものと記載されています。
予測 IntelliSense は、ユーザーがコマンドを正常に完了できるように、タブ補完の概念を追加したものです。 ユーザーは、ユーザーの履歴や追加のドメイン固有のプラグインからの照合予測に基づいて、完全なコマンドを検出、編集、および実行することができます。
使い方としては以下のような感じです。
参考情報
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場