我发现有时,mvn
输出中的 ANSI 转义字符会阻止我使用 grep 进行此搜索:
mvn | grep -P "\[INFO\]"
Run Code Online (Sandbox Code Playgroud)
我必须使用"\[.*INFO.*\]"
才能得到结果。
如何禁用 ANSI 转义字符的处理?我想这有一些配置吗?
在 Windows 10 中,我使用Microsoft 键盘布局创建器来更改我的键盘布局,因此我的一半键更改了位置。
但是现在,我软件中的所有键盘快捷键都不起作用。例如,现在在P
钥匙所在的位置,有O
. 在 Eclipse 中,当我按 Ctrl+O 打开一个方法时,Eclipse 认为我在按 Ctrl+P,所以它会提示我打印对话框。
在 MS 网站上,我读到了这个:
https://msdn.microsoft.com/en-us/library/windows/desktop/gg153546(v=vs.85).aspx
另外,避免使用 WM_CHAR 来实现键盘快捷键。相反,使用 WM_KEYDOWN 消息;或者甚至更好,使用加速器表。加速器表在下一主题加速器表中描述。
所以,当我改变键盘布局时,我改变了每个键的字符,但我没有改变虚拟键代码,所以这搞砸了。这同样适用于 IME(输入法),如微软拼音。现在,使用新的键盘布局,我无法,
使用.
.
现在它变得可以理解,同时保持不合理。
我认为必须有一个解决方案,因为我认为我面临着与任何想要使用 Dvorak 或 AZERTY 或任何其他键盘布局的用户相同的问题。
我们如何解决这个问题?
我正在摆弄 Windows 10 的新命令提示符。我使用代码页 936 (GBK)。
我说“新”是因为我在属性中cmd
看到有一个检查run legacy command prompt (need restart)
,默认情况下未选中,所以我想我正在使用的这个是“新的”。
问题是,在网上搜索只给了我一些在注册表中添加字体的方法,以使旧版cmd 能够识别它并在“属性”/“默认值”设置中显示,如下所示:
http://www.techrepublic.com/blog/windows-and-office/quick-tip-add-fonts-to-the-command-prompt/
它提到将字体条目添加到显示的位置:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Console\TrueTypeFont
Run Code Online (Sandbox Code Playgroud)
让 Windows 知道这种字体。我注意到已经列出的字体与我在旧版 cmd 中可以看到的字体相同。在普通的 cmd 中,我看到更多的字体。
请注意,在图片中,我打开了一个旧的 cmd 提示符,带有一些终端字体,在“属性”设置对话框中,我可以从中选择的字体是 Consolas 和 Lucida Console,与注册表中的字体相同。
而且,如果我切换到普通的cmd,有两种情况:
在属性中:
我可以在Yahei Consolas Hybrid
这里选择和其他字体,cmd 尊重我的设置并立即更改字体。
在默认值中:
您可以在此处看到更多等宽字体,例如Dejavu Sans Mono
,Monaco
等等,但您无法对这些字体进行 cmd 更改。
我不知道这里的区别,但这没有意义。一些不能被尊重的设置不应该存在,更不用说造成的混乱:“属性”和“默认值”是相同的。
我想要的是将普通 cmd 中的字体更改为 Monaco 或 Dejavu Sans Mono。如果不可能,则在旧版 cmd 中。
顺便说一句,如果有人能澄清“属性”和“默认值”之间的区别,那就太好了。