我们都使用编辑工具来更改输入的文本行。一行中有两种主要的编辑模式:a)“插入模式”,在光标处插入非编辑字符,并将文本向右移动;b)“覆盖模式”,在这种模式下,非编辑字符会直接覆盖光标选择的任何字符。
在我看来,覆盖模式是绿屏 CRT 时代遗留下来的。我发现它的唯一用途是用 ASCII 绘制 2D 图片,80 年代真正的绘图工具出现后我就不再这么做了。
Windows(在我看来,这很愚蠢)提供了使用INSERT键盘上的按键来启用覆盖模式的切换功能。(我猜 Linux/Unix 可能会效仿,一如既往地羡慕 Windows)。我从不按那个按钮,因为它只会让我进入覆盖模式。
但是,当我打字时,有时会突然出现覆盖模式。我认为这一定是ALT/ Windows/ CTRL/SHIFT和其他键的某种奇怪组合,或者是同时按下了两个标准键。有人知道备用键序列是什么吗,这样我就可以尽量避免这种情况?有没有办法告诉 Windows 停止使用覆盖模式?
答案1
如何在 Windows 中禁用 Insert 键
几乎所有使用过文字处理器的人都曾不小心按到 Insert 键,导致在编辑时被覆盖。本文介绍了一种禁用键盘上 Insert 键的简单方法。
每当您按下一个键时,都会创建一个 Windows 消息,其中包含唯一标识所按下键的键代码。程序(如 Microsoft Word)查找按键消息并根据消息中的键代码采取行动。通过将插入键按下事件映射到 null,Windows 会在按下 Insert 键时发送包含键代码 null 的消息。因此,接收该消息的程序不会执行与插入键按下事件相关的操作,让您不必担心再次覆盖内容。
- 去开始 → 运行 → regedit
- 去HKLM\System\CurrentControlSet\Control\键盘布局
- 右键单击屏幕右半部分并选择新建 → 二进制值
- 命名新值扫描码地图
- 进入00000000000000002000000000052E000000000
- 关闭注册表
- 重启。
- 可选:完成后,您可以从键盘上取下 Insert 键。
如果使用 Windows7 regedit 执行此操作,则必须以 8 个字节的行输入十六进制值,如下所示:
Value Data:
0000 00 00 00 00 00 00 00 00
0008 02 00 00 00 00 00 52 E0
0010 00 00 00 00
注册表文件 (.reg) 按照上述方法应用修复
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,00,00,52,e0,00,00,00,00
将上述文本放入扩展名为 .reg 的文件中(例如disable-insert.reg
:),然后双击。
答案2
关闭时,0
数字键盘上的键将变为。insert
num lock
当您在 MS-DOS 应用程序中键入某些内容并返回到短语中间并按 TAB 时,您将切换到覆盖模式。
答案3
刚刚搞明白了……数字键盘上的Shift+ 0。我想我一定是在快速打字时不小心按到了它。困扰了我很长时间。
虽然我上面的补充可能对某些人有帮助,但这不是我的问题。任何在这里遇到困难的人,如果这种情况几乎无论你使用什么应用程序都会发生(即不仅仅与 MS Word 中的编辑有关),那就省去像我一样在互联网上搜索的麻烦吧……
编辑:
我个人的最终结论是,没有“其他神奇的按键组合”可以切换插入覆盖,就是这样。因此,唯一剩下的可能性是,在快速打字的过程中,由于不完美/马虎的笔划组合或键盘上的弹跳,会产生意外的编码,而这种编码恰好总是触发 ins/ovr 切换。我从个人研究中得知,这更有可能是由于键盘/硬件缺陷而不是软件缺陷造成的。如果是软件缺陷,我想我们会在网上看到更多关于它的帖子。
我最终要尝试发布的 regedit 建议,并尝试立即克服它。