首页 > 解决方案 > 有没有办法将 CTRL+[ 映射到 Powershell 中转义?

问题描述

我发现在 powershell 中有一个 vi 模式,但是它似乎 CTRL+[ 没有像在 vi 和 bash 中那样映射到转义。我将设置添加到我的个人资料中,如下所示:

New-Item $profile -Type File -Force
echo "Set-PSReadLineOption -EditMode vi" >> $profile

我在这里通读了文档,没有发现任何与我的问题相关的内容。我正在考虑的当前解决方案是一个 AutoHotKey 脚本,它在 Powershell 窗口存在时重新映射键。请让我知道是否有人知道实现此目的的更本地化的方法。我还认为通过 regedit 或类似的东西进行系统范围的更改是行不通的,因为我需要 CTRL+[ 才能在 powershell 窗口之外正常运行。

标签: powershellvipsreadline

解决方案


我找到了一个可以解决问题的命令

Set-PSReadlineKeyHandler -Chord Ctrl+[ -Function ViCommandMode

编辑:我想我可以分享更多关于我如何找到这个答案的信息。运行此命令

 Get-PSReadLineKeyHandler -Bound -Unbound

将为您提供所有可用映射的列表,如此处所述。我找到了与函数 ViCommandMode 绑定的逃逸,我用来构造上面粘贴的解决方案。


推荐阅读