PowerShell7でEmacs(Linux)のキーバインド設定
PowerShell7にしたらCtrl+Bで移動できなくなったので調査したときの覚書。
PowerShell7はクロスプラットフォームエディションっていうからBashっぽいキーバインドがデフォルトで使えると思ったらそうでもなかった。
環境: Windows10 21H1, PowerShell 7.1.3
今のPowerShellのバージョンを表示
PS> $PSVersionTable
Microsoft StoreからPowerShell7をインストールしたらWindows Terminalからpwshすると切り替わる
PS> pwsh
PS> $PSVersionTable
Ctrl+Bで移動できなくなったのはPSReadLineモジュールが効いてないから。
モジュールをインストールしなおす。
まずはPowerShellGetから。公式サイトを参考に。
PS> pwsh
PS> Install-Module -Name PowerShellGet -Force
モジュールをインストールしなおす。
まずはPowerShellGetから。公式サイトを参考に。
PS> pwsh
PS> Install-Module -Name PowerShellGet -Force
PowerShell7を起動しなおす。
PSReadLineモジュールをインストール。
PS> Install-Module PSReadLine
エラーになったので下記コマンドを実行。
PS> Install-Module PSReadLine -AllowPrerelease -Force
インストール完了。
「-Force」付けたから?管理者権限で起動したからかも。
キーバインド変更
PS> Set-PSReadLineOption -EditMode Emacs
これだけだと再起動すると元に戻るので、設定ファイルを置く。
モジュールPathを表示
PS> $env:PSModulePath
D:\Documents\PowerShell\Modules
PowerShell5は「WindowsPowerShell」だった。
D:\Documents\PowerShell\Microsoft.PowerShell_profile.ps1を作る。
Import-Module PSReadLine
Set-PSReadlineOption -EditMode Emacs
これでPowerShellを再起動すればCtrl+Bが効く。
最新に更新する場合
PS> Update-Module
PS> Update-Module