覆盖 CTRL+L 的默认 Powershell 处理程序
Override default Powershell handler for CTRL+L
我试图覆盖 PowerShell 中特定命令的默认处理程序,在我的例子中,我想更改按下 CTRL[ 时的行为=28=]+L。
这是我的 Microsoft.Powershell_profile.ps1
文件现在的样子:
function vim($File) {
$File = $File.Replace('\', '/')
bash -c "vim $File"
}
我指定了一个函数,每次我尝试在 PowerShell 上调用 vim
时都会执行 bash -c vim
。
是否有类似的方法使用 CTRL+L 使用 [=32] 的配置文件=]?
我解决了这个问题:
Set-PSReadlineKeyHandler -Chord Ctrl+l -Function <FunctionName>
另外,我的屏幕缓冲区大小有问题(它太小了),这导致我无法正确清除屏幕并阻止我在 PowerShell 上向上滚动。我只是这样更改了设置:
Properties > Layout > Screen buffer size > Height > 9001
感谢@TheIncorrigible1
我试图覆盖 PowerShell 中特定命令的默认处理程序,在我的例子中,我想更改按下 CTRL[ 时的行为=28=]+L。
这是我的 Microsoft.Powershell_profile.ps1
文件现在的样子:
function vim($File) {
$File = $File.Replace('\', '/')
bash -c "vim $File"
}
我指定了一个函数,每次我尝试在 PowerShell 上调用 vim
时都会执行 bash -c vim
。
是否有类似的方法使用 CTRL+L 使用 [=32] 的配置文件=]?
我解决了这个问题:
Set-PSReadlineKeyHandler -Chord Ctrl+l -Function <FunctionName>
另外,我的屏幕缓冲区大小有问题(它太小了),这导致我无法正确清除屏幕并阻止我在 PowerShell 上向上滚动。我只是这样更改了设置:
Properties > Layout > Screen buffer size > Height > 9001
感谢@TheIncorrigible1