我在 Ubuntu 10.10 (Maverick Meerkat) 上使用 Code::Blocks 。我已连接 Mac 键盘并将键盘设置设置为“瑞士德语 Mac”。现在,每当我写一个等号,后跟一个空格(类似于宽度 = 100)时,我都会收到错误消息:程序中的流浪 ‘\302’。
我知道这个错误意味着文本文件中有一个非标准字符。
当我删除空格字符时,程序编译得很好。这意味着 Code::Blocks 添加了某种特殊字符。但我不明白为什么会发生这种情况。是什么原因?
‘\302’ 代表什么字符?
[更新]
我进一步调查了这个问题。当我使用组合 Shift
+ Space
时,我会迷路。现在我知道它不再经常发生了。但它仍然相当烦人,尤其是在编写代码时……有没有办法在 X11 中关闭这个组合?
[解决了]
感谢无用的回答,我能够解决“问题”。它实际上更像是一个功能。 Shift + 空格默认创建了一个 spacenolinebreak。所以通过改变xmodmap
xmodmap -e "keycode 65 = space space space space space space"
此行为已被覆盖,现在一切正常。
原文由 underdoeg 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于您确定它是由按
Shift
+Space
引起的,因此您可以检查 X 本身在做什么。首先,从命令行运行xev
,按Shift
+Space
并检查输出。例如,我看到:然后,运行
xmodmap -pk
并查找键码(空格应为 65,如上,但请检查您的 xev 输出)。如果你看到类似的东西
那么 X 没有这样做。另一方面,如果我选择一个由
shift
修改的字符键,我 会 看到如下内容:如果您的键码有两个或多个键符,那么 X 就是罪魁祸首。在这种情况下,像
xmodmap -e 'keycode 65 space'
这样的东西应该可以工作。