👋

PowerShell で Linux の shell っぽいキーバインドを利用する

2023/05/02に公開

PowerShell で Linux の shell っぽいキーバインドを利用する

Linux の bash などの shell の文化に慣れていると、^A (Ctrl + a) で行頭、^E (Ctrl + e) で行末に移動する、^U (Ctrl + u) で行全体を削除する、^P (Ctrl + p) で前のコマンドを呼び出す、^R (Ctrl + r) でコマンド履歴を検索する、などのキーバインドが身についていると思います。

で、これを PowerShell でも使いたいよね、と思うのですが、なんと 2 行で済みます。

Import-Module PSReadline
Set-PSReadLineOption -EditMode Emacs

で、これは PowerShell の profile に追加することになります。
手元のマシンでは OneDrive for Business が有効化されていることもあり、以下のフォルダにありました。

"C:\Users\xxxxxxxx\OneDrive - Microsoft\Documents\PowerShell\profile.ps1"

たぶん環境によるので以下の URL を見てください。

https://learn.microsoft.com/powershell/module/microsoft.powershell.core/about/about_profiles

その profile.ps1 的なやつにさきほどの PowerShell の code を追加します。
場所はどこでも問題なく、ファイルがなければ新規作成すればよいですし、すでにあるようであればファイルの頭の方にでも書いておけばよいかと思います。
で、PowerShell を再起動すると Linux の shell っぽいキーバインドが使えるようになります。

Microsoft (有志)

Discussion