几乎所有软件中的文本字段在按下ctrl+时都会删除一个单词。但是,记事本的行为有所不同,它会插入一个字符: ``(我将其复制粘贴到这里。我不确定它是否可见。它看起来像记事本中的一个矩形。)backspace
以下是屏幕截图:
- 这是什么角色?
- 为什么记事本要这样做?实现起来是不是更简单?
- 其他字符还有其他组合键吗?
- 记事本中是否有可以删除单词的组合键?
答案1
它是0x7F “删除”ASCII 和U+007F “删除”使用 Unicode。
事实上缺乏实现。PlainBackspace发送 ASCII 0x08(我不确定 Edit 控件内部如何处理它),并且在各种操作系统中CtrlBackspace发送“Delete”序列并不罕见。
后来添加了“删除单词”行为,作为未记录的功能,并且只适用于使用“SHAutoComplete”的编辑控件。如果文本框禁用了自动完成功能,CtrlBackspace则可能无法工作。
(
有些许多程序实现他们自己的文本编辑控件,其工作方式与内置控件略有不同。CtrlJ并将CtrlM被翻译为换行符(
^J
是 CR以 ASCII 表示,并且^M
为 LF;但是,编辑控件会同时翻译按键到 CR+LF。)同样,CtrlI插入一个 Tab 字符。Ctrl_并将Ctrl^导致有点无用的“单位分隔符”(
^_
)和“记录分隔符”(^^
)。(该
^X
符号表示 Ctrl 键 – 本例中为 Ctrl-X – 在 ASCII 中,这相当于取消设置后面字符的第 7 位。)不,但你可以CtrlShift← Left使用选择前一个单词,然后通过键入进行覆盖。
或者获得更好的记事本。
答案2
记事本中按 Ctrl-Backspace 键删除单词的功能终于实现了!
查看 Windows 10 版本 1809 中记事本的更改。这里