⌨️
Powershellをbash風のキーバインドにする
概要
PowershellでCtrl+w
などが使えないのが不便だったため設定しました。
今回設定したのは以下のキーです。
キー | 説明 |
---|---|
Ctrl+d | カーソル下の文字削除 |
Ctrl+w | カーソルより前の単語削除 |
Ctrl+u | カーソルより前の行削除 |
Ctrl+k | カーソルより後の行削除 |
Ctrl+a | カーソルを行頭に移動 |
Ctrl+e | カーソルを行末に移動 |
Ctrl+f | カーソルを左に移動 |
Ctrl+b | カーソルを右に移動 |
Alt+f | カーソルを次の単語へ移動 |
Alt+b | カーソルを前の単語へ移動 |
Ctrl+p | 前の履歴 |
Ctrl+n | 次の履歴 |
準備
PSReadLine
モジュールを使用します。
インストールしていない場合は以下のコマンドでインストールしてください。
Import-Module PSReadLine -Scope Local
Microsoft.PowerShell_profile.ps1
(.bashrcみたいなもの)を作成していない場合は作成します。
New-Item $PROFILE
設定
$PROFILE
に以下を書き込むだけです。
Set-PSReadLineKeyHandler -Key "Ctrl+d" -Function DeleteChar
Set-PSReadLineKeyHandler -Key "Ctrl+w" -Function BackwardKillWord
Set-PSReadLineKeyHandler -Key "Ctrl+u" -Function BackwardDeleteLine
Set-PSReadLineKeyHandler -Key "Ctrl+k" -Function ForwardDeleteLine
Set-PSReadLineKeyHandler -Key "Ctrl+a" -Function BeginningOfLine
Set-PSReadLineKeyHandler -Key "Ctrl+e" -Function EndOfLine
Set-PSReadLineKeyHandler -Key "Ctrl+f" -Function ForwardChar
Set-PSReadLineKeyHandler -Key "Ctrl+b" -Function BackwardChar
Set-PSReadLineKeyHandler -Key "Alt+f" -Function NextWord
Set-PSReadLineKeyHandler -Key "Alt+b" -Function BackwardWord
Set-PSReadLineKeyHandler -Key "Ctrl+p" -Function PreviousHistory
Set-PSReadLineKeyHandler -Key "Ctrl+n" -Function NextHistory
書き込んだらPowershellを再起動するか、& $PROFILE
で設定ファイルを再読み込みしましょう。
補足
Get-PSReadLineKeyHandler
で現在のキーバインドを確認することができるので、これで割り当てられている関数を確認しながらすると便利
Discussion