在 Windows 命令行中使用 Ctrl+Backspace 删除单词?

alt*_*ern 16 windows keyboard-shortcuts command-line

如何在 Windows XP 命令行中使用 Ctrl-Backspace 擦除整个单词?有可能吗?

nge*_*gen 9

CMD 或 Powershell 没有删除左侧或右侧单词的本机快捷方式。以下是每个平台可以做什么的一些示例。您可以做的事情是使用快捷方式移动到单词的开头或结尾并开始删除或退格以删除单词。

  • 我不确定这是否准确。CTRL+Backspace 删除 Win10 上 Powershell 中的最后一个单词。 (4认同)

Vij*_*jay 6

AHK代码复制 Ctrl+Backspace 功能以删除前一个单词。这样做是使用 Ctrl+Shift+Left 选择上一个单词,然后按删除。在记事本和其他程序中对我来说效果很好,但在 win7 中有点不稳定。目前无法确认终端。

^BackSpace:: ;;Delete previous word
    Send ^+{Left}{Del}
 Return
Run Code Online (Sandbox Code Playgroud)


小智 5

试试这个:

^BackSpace:: ;;Delete previous word
Send ^+{Left}
Loop, 500 {
    Send {Del}
}
Return
Run Code Online (Sandbox Code Playgroud)

它通过在定位到上一个单词后发送 500 个删除来修改上一个答案。500 可能过多,但那又怎样。

这是用于 autohotkey ( http://www.autohotkey.com/ ) 并在 cmd 窗口中工作,我将它放在我的 cmd 窗口特定部分,粘贴代码如下:

#IfWinActive ahk_class ConsoleWindowClass
; Paste in command window
^V::
Send !{Space}ep
return

^BackSpace:: ;;Delete previous word
Send ^+{Left}
Loop, 500 {
    Send {Del}
}
Return

#IfWinActive
Run Code Online (Sandbox Code Playgroud)


小智 5

想要这个很久了!:) 只是想 +1 使用 AHK 的想法,并建议对其脚本进行改进。我喜欢用 ^W 来擦除单词,就像在 Linux shell 中一样,所以我很高兴找到了这个。

第一个脚本在 CMD 中对我不起作用(跳回一个单词,然后删除第一个字符,而不是整个单词)。上面的下一个脚本也不是很理想,所以不是循环发送 Del 击键 500 次(我发现如果您改变焦点,有时会溢出并将删除发送到另一个窗口,哎呀),而是使用 CMD 的 F4 功能:为一个字符并删除直到该字符。因此,使用 ctrl-Left 键跳回一个单词,然后按 F4,然后按空格键,最多删除一个空格。唯一的小缺点是(a)它会短暂地闪烁提示框,以及(b)重复的单词擦除会留下一堆空格(无害但有点缺乏吸引力)。我还想要 ^U (擦除到行首)和 ^A/^E/^F/^B 字/字符移动,就像 Linux shell 一样(即使它们已经存在于 CMD 中,我触摸打字,所以不喜欢移动我的手远离主键盘)。:) 我还保留了 David Hoppe 伟大的 ^V 用于粘贴。

因此:

#IfWinActive ahk_class ConsoleWindowClass
; Paste in command window
^V::
Send !{Space}ep
return

; was ^BackSpace, I prefer ^W a la linux
^W:: ;;Delete previous word
Send ^+{Left}
Send {F4}{Space}
Return

^U::   ;;erase to start of line
Send ^{Home}
Return

^A::   ;;move to start of line
Send {Home}
Return

^E::   ;;move to end of line
Send {End}
Return

^F::   ;; move one char forward
Send {Right}
Return

^B::   ;;move one char back
Send {Left}
Return
#IfWinActive
Run Code Online (Sandbox Code Playgroud)