我正在使用*compilation*
缓冲区在Centos 5和Centos 6上构建C ++应用程序。缓冲区显示了构建并包括了对作为构建一部分的文件的引用。但是,我得到的控制字符像^[
出现在输出中一样,当您在输出中单击一个时,很难读取并且emacs的文件名已损坏。我认为这些字符是编译器输出上的某种颜色或其他注释,但我不知道它们来自何处。这是示例输出:
cc -c -g -I../machind -I. -DRELEASE_VERSION -g -O2 -m64 -D__BITS64 -pipe -DARCH_64 -DARCH_INTEL -DARCH_X86 -DARCH_X86_64 -DOS_LINUX -pthread -DLM_INTERNAL -DFLEXLM_KITBUILD -DFLEX_STATIC -DRELEASE_VERSION -DGPLATFORM=\\"x64_lsb\\" -DLINUX -DLSB3_0 -D__FD_SETSIZE=65535 -DGLIBC -DLINUX64 -DAMD64 -DREDHAT -DREL -DRHLINUX64 -DPLATFORM_AMD64_RHLINUX -DNO_ACTIVATION_SUPPORT ../machind/lmcrypt.c
^[[01m^[[K../machind/lmcrypt.c:^[[m^[[K In function ^[[01m^[[Kmain^[[m^[[K :
^[[01m^[[K../machind/lmcrypt.c:156:47:^[[m^[[K ^[[01;35m^[[Kwarning: ^[[m^[[Kcast to pointer from integer of different size [-Wint-to-pointer-cast]
lc_set_attr(lm_job, LM_A_MAX_LICENSE_LEN, (LM_A_VAL_TYPE)max);
^[[01;32m^[[K ^^[[m^[[K
如何摆脱编译缓冲区中的非文本输出?
由于
—
Kaushal Modi,
ansi-color-apply-on-region
速度可能很慢,所以几周前我已经编写了以下代码段:de-ansi.el。我不打算将其作为软件包,因此它与key-chords软件包以及我的临时次要模式temp-mode.el有依赖关系。您还需要使用emacs 24.4或更高版本才能使用文件通知功能。
-fdiagnostics-color=never
给gcc
(假设gcc
是您的cc
)来禁用颜色