Windows PowerToys の Keyboard Manager を使って macOS 風のキーバインドを導入するというのをやっているけど、これをすると WSL2 が快適になる代わりに PowerShell が不便になるという問題があった。具体的には、Up/Down キーで ^P ^N が入力されてしまうので履歴が辿れないなど。
これは実は簡単に解決可能で、
Set-PSReadLineOption -EditMode Emacs
として PowerShell 上のキーバインドを emacs 風にするだけでよい。これで Ctrl-P / Ctrl-N などが適切にマッピングされるようになる。
毎回実行するのは面倒なので、echo $PROFILE で出てくるファイルパスに以下のように書いておくと良い。
echo "Running $PROFILE" Set-PSReadLineOption -EditMode Emacs
$PROFILE は自分の環境だと C:\Users\[username]\OneDrive\Documents\PowerShell\Microsoft.PowerShell_profile.ps1
だった。