WindowsターミナルのPowerShellとClaude CodeでCtrl+ZのUndoを有効にする
WindowsターミナルでClaude Codeを使っていると、打ち間違いのたびに反射的にCtrl+Zを押してしまう。しかしUndoにならない。PowerShellとClaude Codeの両方でCtrl+ZをUndoにした時の覚書。 Claude(Cowork)と対話しながら設定した。 環境: Windowsターミナル + PowerShell + Claude Code 1. PowerShell側の設定(PSReadLine) PowerShellのコマンドライン編集はPSReadLineが担当している。 まず現状のCtrl+Zの割り当てを確認。 PS:> Get-PSReadLineKeyHandler -Key Ctrl+z Windowsモード(既定)ならUndoに割り当て済みのこともある。割り当てられていなければ、以下をプロファイルに追記して恒久化する。 if (!(Test-Path $PROFILE)) { New-Item -Type File -Path $PROFILE -Force | Out-Null } Add-Content $PROFILE 'Set-PSReadLineKeyHandler -Key Ctrl+z -Function Undo' Add-Content $PROFILE 'Set-PSReadLineKeyHandler -Key Ctrl+y -Function Redo' . $PROFILE これでPowerShellのプロンプト上はCtrl+ZでUndo、Ctrl+YでRedoが効く。 効かない場合はWindowsターミナル側のキーバインド(設定 → 操作)がCtrl+Zを奪っていないか確認する。 なお、これはコマンドライン入力のUndoであって、実行済みコマンドの取り消しではない。 2. Claude Code側はPSReadLineが効かない PowerShellから起動したClaude Codeのプロンプトでは、上の設定をしてもCtrl+ZでUndoできない。 Claude Codeは独自に入力を処理しているため、PSReadLineの設定は効かない。 調べると、Claude Codeの入力Undoの既定キーは Ctr...