Ctrl+Backspace 插入一个小框而不是擦除

Ctrl+Backspace 插入一个小框而不是擦除

当我按下Ctrl+时Backspace,有时会插入一个小方块,而不是删除整个单词。

该问题仅发生在某些文本框中;在其他文本框中,快捷方式可以正常工作。

  • 开始菜单搜索框:有效

  • 记事本:没有工作

    在记事本中按 Ctrl+Backspace 创建的小框

  • Notepad2:有效

  • Firefox:有效

我正在运行 Windows 7 x64。

答案1

Ctrl您可以通过使用覆盖+Backspace快捷键来解决此问题自动热键. 将以下代码保存在具有给定文件名和扩展名的纯文本文件中,然后使用 AutoHotkey 启动该脚本:

FixCtrlBackspace.ahk

; how to write scripts: http://www.autohotkey.com/docs/

#IfWinActive ahk_class CabinetWClass ; File Explorer
    ^Backspace::
#IfWinActive ahk_class Notepad
    ^Backspace::
    Send ^+{Left}{Backspace}
#IfWinActive

; source and context: http://superuser.com/a/636973/124606

; relevant documentation links:
; writing hotkeys
; http://www.autohotkey.com/docs/Hotkeys.htm
; list of key codes (including Backspace)
; http://www.autohotkey.com/docs/KeyList.htm
; the #IfWinActive directive
; http://www.autohotkey.com/docs/commands/_IfWinActive.htm
; the Send command
; http://www.autohotkey.com/docs/commands/Send.htm

你可能会发现从 GitHub 下载此脚本文件,而不是自己创建文件并粘贴其内容。

要在启动时自动启动此脚本,请将其快捷方式添加到“开始”菜单中的“启动”文件夹中,如中所述如何让程序在任何计算机启动时运行

该脚本的基本思想是这样的:

^Backspace:: Send ^+{Left}{Backspace}

这会改变所有程序中的Ctrl+Backspace快捷键,使其相当于按Ctrl+ Shift+来选择上一个单词,然后Backspace按 来删除它。

这种选择并删除的解决方法虽然比输入框要好,但很脆弱。在Ctrl+Backspace已经起作用的程序中,不启用此快捷方式更为安全。这就是为什么我使用#IfWinActive将热键限制为仅我知道不支持该快捷方式的程序。

答案2

你看到的“盒子”就是所谓的控制字符显示该框的原因是,正如您所发现的,并非所有程序都能处理 ctrl+backspace 来删除单词。

此控制字符是 128 个字符中的 33 个“非打印”字符之一ASCII 字符编码方案

答案3

在 MSDN 上找到这个博客...

Internet Explorer 小组早期的一些人使用了 Brief 编辑器,该编辑器使用 Ctrl+Backspace 作为删除上一个单词的快捷键,他们非常喜欢这个功能,以至于其中一人将其添加到自动完成处理程序中。因此,任何使用 SHAutoComplete 的编辑控件都将获得这个秘密的 Ctrl+Backspace 热键。

因此听起来如果应用程序不使用 SHAutoComplete,它将不支持该功能,除非应用程序的作者明确添加该功能。

PS control-delete 删除光标前面的单词

答案4

并非所有应用程序都以相同的方式处理键盘快捷键。记事本似乎无法处理此组合键,而是以自己的方式处理。

相关内容