从命令中删除参数

从命令中删除参数

如果我有这样的命令行:

sunday.exe monday tuesday-wednesday

我想删除到最后一个空格,或者说最后一个参数。我试过了Ctrl + Backspace,但它只删除到第一个连字符。这可能吗?

答案1

要查看当前分隔符:

(get-PSReadLIneOption).WordDelimiters

要删除“-”字符(当前会话):

(get-PSREadLIneOption).WordDelimiters = (get-PSREadLIneOption).WordDelimiters -replace '-'

恢复默认设置:

(get-PSREadLIneOption).WordDelimiters = @'
;:,.[]{}()/\|^&*-=+'"–—―
'@

答案2

不是 PowerShell 中原生的东西。

您必须弄乱 PSReadline 自定义。

about_PSReadLine

倒退单词

将光标移回当前单词的开头,或者如果在单词之间,则移回上一个单词的开头。单词边界由一组可配置的字符定义。

Cmd:<Ctrl+左箭头> Emacs:<Alt+b>, <Escape,b> Vi 插入模式:<Ctrl+左箭头> Vi 命令模式:<Ctrl+左箭头>

https://docs.microsoft.com/en-us/powershell/module/psreadline/about/about_psreadline?view=powershell-7

请记住,PSReadline 只是一个控制台主机的东西,而不是需要单独配置或附加组件的 ISE 或 VSCode。

相关内容