我一直将 Notepad++ 用作主要代码编辑器。然而就在几分钟前,我不小心按了一些组合键(不知道我按了什么),然后我的标准快捷键突然不再起作用了。
当我按下 Ctrl-S 时,它不会保存我的文档;而是插入这个奇怪的小“DC3”字符(看起来像一个圆角黑色矩形,里面有白色文本)。当我按下 Ctrl-F(查找键)时,我得到了一个类似的“ACK”符号。
我在网上找到的唯一答案与更改快捷键映射有关;但是我的快捷键映射根本没有改变,它们仍然按应有的方式设置,Ctrl-S 映射到“保存”,Ctrl-F 映射到“查找...”。
我显然已经切换到某种奇怪的备用键模式,但我不知道那是什么或者如何摆脱它。
更新:我又尝试了一下,看看还有哪些快捷键坏了。到目前为止,除了 Windows 标准快捷键“Ctrl-X”和“Ctrl-V”外,其他快捷键似乎都坏了。下面是一些示例:
KEY Should Do: Current Behavior:
Ctrl-Tab Cycle open tabs <does nothing>
Ctrl-W Close current tab [ETB]
Ctrl-N Open New tab [SO]
Ctrl-O File Open window [SI]
Ctrl-A Select All [DC3]
Ctrl-Z Undo <Works as expected>
Ctrl-C Copy selection <Works as expected>
Ctrl-U Make lowercase [NAK]
答案1
好吧,这确实很可悲。但其他白痴也有可能遇到这个问题,所以我有理由发帖。
几分钟前,我在当前文档中执行了“全部替换”。显然,通知我“# 个匹配项已被替换”的对话框窗口隐藏在另一个窗口下,所以我从未关闭它。
显然,当那个小窗口保持打开状态时,在主编辑器窗口处于焦点状态时按下快捷键会导致那些奇怪的结果。
确实,这是奇怪的行为,但这仍然是一个相当新颖的场景。好吧。
答案2
检查语言栏。您可能为该应用程序设置了不同的语言或键盘。
其他应用程序也有这个问题吗?
答案3
我刚刚遇到了一个类似的问题,是由不同的问题引起的。
确保您的文件未设置为只读。 :)
答案4
作为 Brian 答案的补充:
当您打开任何弹出窗口时,旧 Notepad++ 会出现错误
这似乎是 Notepad++ 中的一个老 bug
我发现的第一份报告来自 2010 年: https://notepad-plus-plus.narkive.com/R7BQacOI/notepad-ctrl-s-no-longer-saves-file-and-instead-inserts-dc3-control-character,https://archive.is/wip/oROp0
以下是 2016 年解决方案的视频演示: https://www.youtube.com/watch?v=CTcoMa19huY,https://www.youtube.com/watch?v=CTcoMa19huY
以下是 2018 年 NPP 论坛上的一个主题: https://community.notepad-plus-plus.org/topic/15803/notepad-7-5-6-inserts-ascii-control-codes-like-dc3-for-control-s-without-any-background-dialogues-open-when-unix-lf-utf-8-wo-bom-format-is-used,https://archive.is/J3xbk
我发现两个错误报告提到了“DC3”。不幸的是,它们都没有修复任何问题。
- https://www.google.com/search?q=site%3Ahttps%3A%2F%2Fgithub.com%2Fnotepad-plus-plus%2Fnotepad-plus-plus%2Fissues+dc3
- https://github.com/notepad-plus-plus/notepad-plus-plus/issues/2818错误对话框禁用键盘快捷键 #2818
- https://github.com/notepad-plus-plus/notepad-plus-plus/issues/4067MsgBox“命令行参数”不在顶部#4067
至于 Brian 的表格:我猜:ascii 表(十六进制)在这里:
$ ascii -x
00 NUL 10 DLE 20 30 0 40 @ 50 P 60 ` 70 p
01 SOH 11 DC1 21 ! 31 1 41 A 51 Q 61 a 71 q
02 STX 12 DC2 22 " 32 2 42 B 52 R 62 b 72 r
03 ETX 13 DC3 23 # 33 3 43 C 53 S 63 c 73 s
04 EOT 14 DC4 24 $ 34 4 44 D 54 T 64 d 74 t
05 ENQ 15 NAK 25 % 35 5 45 E 55 U 65 e 75 u
06 ACK 16 SYN 26 & 36 6 46 F 56 V 66 f 76 v
07 BEL 17 ETB 27 ' 37 7 47 G 57 W 67 g 77 w
08 BS 18 CAN 28 ( 38 8 48 H 58 X 68 h 78 x
09 HT 19 EM 29 ) 39 9 49 I 59 Y 69 i 79 y
0A LF 1A SUB 2A * 3A : 4A J 5A Z 6A j 7A z
0B VT 1B ESC 2B + 3B ; 4B K 5B [ 6B k 7B {
0C FF 1C FS 2C , 3C < 4C L 5C \ 6C l 7C |
0D CR 1D GS 2D - 3D = 4D M 5D ] 6D m 7D }
0E SO 1E RS 2E . 3E > 4E N 5E ^ 6E n 7E ~
0F SI 1F US 2F / 3F ? 4F O 5F _ 6F o 7F DEL
我认为当 CTRL-W 插入“ETB”时会发生什么:ASCII“W”0x57 丢失 0x40 并变成 0x17 ETB。
在所有情况下似乎都有一个负 0x40(十进制 64)偏移。
(除了 CTRL-A,但我认为 Brian 可能将其与 CTRL-S 混淆了。--Brian 的表将 CTRL-A 映射到 DC3 但我读过的所有其他报告都将 CTRL-S 映射到 DC3。
KEY Should Do: Current Behavior:
Ctrl-Tab Cycle open tabs <does nothing>
Ctrl-W 0x57 Close current tab 0x17 [ETB]
Ctrl-N 0x4E Open New tab 0x0E [SO]
Ctrl-O 0x4F File Open window 0x0F [SI]
Ctrl-A Select All 0x13 [DC3]
Ctrl-Z Undo <Works as expected>
Ctrl-C Copy selection <Works as expected>
Ctrl-U 0x55 Make lowercase 0x15 [NAK]
有关“CTRL-W”、“^W”、0x17 和 0x57 之间关系的详细信息: