当我按Ctrl+时Backspace,有时会插入一个小方块,而不是删除整个单词。如果我在此处复制并粘贴字符,则会得到:``。但这在文本框中看起来并不像–只是一个带有1px黑色边框的纯白色矩形。
该问题仅在某些文本框中发生;在其他情况下,快捷方式的工作方式应与预期相同。
- 开始菜单搜索框:有效
记事本:不工作
- 记事本2:作品
- Firefox:有效
我正在运行Windows 7 x64。
当我按Ctrl+时Backspace,有时会插入一个小方块,而不是删除整个单词。如果我在此处复制并粘贴字符,则会得到:``。但这在文本框中看起来并不像–只是一个带有1px黑色边框的纯白色矩形。
该问题仅在某些文本框中发生;在其他情况下,快捷方式的工作方式应与预期相同。
记事本:不工作
我正在运行Windows 7 x64。
Answers:
您可以通过使用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
经常将热键限制为仅我知道不支持该快捷方式的程序。
您看到的“盒子”就是所谓的控制字符。显示该框是因为,正如您所发现的,并非所有程序都处理ctrl +退格键以删除单词。
在128个字符的ASCII字符编码方案中,此控制字符是33个“非打印”字符之一。
ctrl+backspace
并且按Delete键似乎无作用时,您会看到此消息。我认为Vista的记事本可以做到这一点。
在MSDN 博客上找到了这个...
Internet Explorer小组成立初期的一些人使用了Brief编辑器,该编辑器使用Ctrl + Backspace作为快捷键来删除前一个单词,他们非常喜欢它,以至于其中一个人将其添加到了自动完成处理程序中。因此,任何使用SHAutoComplete的编辑控件都将获得此秘密Ctrl + Backspace热键。
因此,这听起来像是如果应用程序不使用SHAutoComplete,则除非应用程序的作者明确添加了该功能,否则它将不支持该功能。
PS控件删除可删除光标前面的单词