如何通过Del键删除PSReadLine历史ListView中的指定条目?
在PSReadLine历史记录ListView模式下用Del键删除选中条目
直接用Set-PSReadLineKeyHandler配置针对ListView模式的Del键绑定即可,下面是完整实现代码:
Set-PSReadLineKeyHandler -Key Del -Mode ListView -ScriptBlock { $selectedItem = $null [Microsoft.PowerShell.PSConsoleReadLine]::GetSelectedListItem([ref]$selectedItem) if ($selectedItem -ne $null) { [Microsoft.PowerShell.PSConsoleReadLine]::RemoveHistoryItem($selectedItem.HistoryItem.Id) [Microsoft.PowerShell.PSConsoleReadLine]::Refresh() } }
代码说明:
-Key Del:指定绑定的按键为删除键-Mode ListView:限定该绑定仅在历史记录的ListView界面生效(比如按下Ctrl+R调出的搜索列表)- 脚本块内先获取当前选中的列表项,确认存在选中项后,调用
RemoveHistoryItem删除对应历史条目,最后用Refresh()刷新界面,让删除结果即时显示
使用方法:
把这段代码添加到你的PowerShell配置文件中(可通过notepad $PROFILE打开编辑),保存后重启PowerShell,或者执行. $PROFILE让配置立即生效。
内容的提问来源于stack exchange,提问作者Douda
相关产品推荐
相关产品推荐

