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


40

当我按Ctrl+时Backspace,有时会插入一个小方块,而不是删除整个单词。如果我在此处复制并粘贴字符,则会得到:``。但这在文本框中看起来并不像–只是一个带有1px黑色边框的纯白色矩形。

该问题仅在某些文本框中发生;在其他情况下,快捷方式的工作方式应与预期相同。

  • 开始菜单搜索框:有效
  • 记事本:工作

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

  • 记事本2:作品
  • Firefox:有效

我正在运行Windows 7 x64。


1
我在WinXP的记事本中得到了相同的行为。
djhowell

2
在Windows 7的“ 文件资源管理器”中重命名文件时,也会出现这种现象。也就是说,当我选择一个文件时,按F2,将光标移动到要删除的单词的末尾,然后尝试Ctrl+ Backspace
罗里·奥肯

Answers:


25

您可以通过使用AutoHotkey覆盖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经常将热键限制为仅我知道不支持该快捷方式的程序。


19

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

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


只是想补充一点,有些应用程序处理起来甚至更糟,实际上不显示控制字符。当什么也没有发生ctrl+backspace并且按Delete键似乎无作用时,您会看到此消息。我认为Vista的记事本可以做到这一点。
约书亚

5
插入的字符为127-删除字符。

1
链接到Wikipedia上的ASCII字符127(删除字符)
Rory O'Kane

这解释了明显的“是什么”,而不是“为什么” :-(
mafu 2015年

14

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

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

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

PS控件删除可删除光标前面的单词


1
另外这同一篇文章上,通过阅读评论增加了一点点的见解: blogs.msdn.com/oldnewthing/archive/2007/10/11/...
heavyd

0

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

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.