gpt4 book ai didi

powershell - 在 PSReadline 中为 Vi-Mode 重新绑定(bind) Escape

转载 作者:行者123 更新时间:2023-12-02 22:21:55 26 4
gpt4 key购买 nike

我已经为 PowerShell 安装了 PSReadline 模块,以从 PowerShell 中的 Bash 获取键绑定(bind)。我启用了 Vi-Mode,它运行良好。

问题是:在 Vim 中,我总是使用 j, k 来退出插入模式。这意味着:首先我输入 j 然后 k 非常快。如果我真的想输入 j 和 k,那么我只需在输入 j 后等待超时。

如何在 PSReadline 的 Vi-Mode 中执行相同的操作?我已经尝试过:Set-PSReadlineKeyHandler -Chord 'j', 'k' ViCommandMode ,但后来我无法输入 jk了。有任何想法吗?

最佳答案

为此,请在您的 $Profile 中添加以下内容:

Set-PSReadLineKeyHandler -Chord 'j' -ScriptBlock {
if ([Microsoft.PowerShell.PSConsoleReadLine]::InViInsertMode()) {
$key = $host.UI.RawUI.ReadKey("NoEcho,IncludeKeyDown")
if ($key.Character -eq 'k') {
[Microsoft.PowerShell.PSConsoleReadLine]::ViCommandMode()
}
else {
[Microsoft.Powershell.PSConsoleReadLine]::Insert('j')
[Microsoft.Powershell.PSConsoleReadLine]::Insert($key.Character)
}
}
}

但是,这可能会导致粘贴“j”时出现问题。

关于powershell - 在 PSReadline 中为 Vi-Mode 重新绑定(bind) Escape,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39547321/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com