gpt4 book ai didi

powershell - 在带有 psreadline -EditMode VI 的 powershell 中,如何确保在浏览历史记录时光标从行尾开始

转载 作者:行者123 更新时间:2023-12-02 22:36:07 28 4
gpt4 key购买 nike

我正在使用 powershell VI 模式通过

Set-PSReadlineOption -EditMode vi

能够使用 VI 命令编辑该行非常棒,但是有一件事情很烦人。当使用向上和向下箭头浏览历史时,光标总是从行首而不是行尾开始。即:如果我的历史记录中有以下命令
svn help x-shelve --list

那么我希望光标(由管道 | 表示)像
svn help x-shelve --list|

而不是
|svn help x-shelve --list

有没有办法设置这个?

最佳答案

您可以使用 Set-PSReadLineKeyHandler小命令:

Set-PSReadLineKeyHandler -Key UpArrow `
-ScriptBlock {
param($key, $arg)

$line=$null
$cursor=$null
[Microsoft.PowerShell.PSConsoleReadLine]::HistorySearchBackward()
[Microsoft.PowerShell.PSConsoleReadLine]::GetBufferState([ref]$line, [ref]$cursor)
[Microsoft.PowerShell.PSConsoleReadLine]::SetCursorPosition($line.Length)
}


Set-PSReadLineKeyHandler -Key DownArrow `
-ScriptBlock {
param($key, $arg)

$line=$null
$cursor=$null
[Microsoft.PowerShell.PSConsoleReadLine]::HistorySearchForward()
[Microsoft.PowerShell.PSConsoleReadLine]::GetBufferState([ref]$line, [ref]$cursor)
[Microsoft.PowerShell.PSConsoleReadLine]::SetCursorPosition($line.Length)
}

关于powershell - 在带有 psreadline -EditMode VI 的 powershell 中,如何确保在浏览历史记录时光标从行尾开始,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52941796/

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