Ich verwende den *compilation*
Puffer, um eine C ++ - Anwendung unter Centos 5 und Centos 6 zu erstellen. Der Puffer zeigt den Build und enthält Verweise auf Dateien, die Teil des Builds sind. Ich erhalte jedoch Steuerzeichen wie ^[
in der Ausgabe und es ist schwer zu lesen und Emacs erhält beschädigte Dateinamen, wenn Sie in der Ausgabe auf eines klicken. Ich denke, diese Zeichen sind eine Art Färbung oder eine andere Anmerkung in der Compiler-Ausgabe, aber ich weiß nicht, woher sie kommen. Hier ist eine Beispielausgabe:
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
Wie kann ich die Nicht-Textausgabe in meinem Kompilierungspuffer entfernen?
major-mode
formatting
coloring
WilliamKF
quelle
quelle
-fdiagnostics-color=never
aufgcc
(dh unter der Annahme ,gcc
Ihrcc
)ansi-color-apply-on-region
langsam sein könnte, habe ich vor ein paar Wochen diesen Ausschnitt geschrieben: de-ansi.el . Ich hatte nicht vor, dass es sich um ein Paket handelt, und daher hängt es vom Key-Chords-Paket und von meinem temporären Moll-Modus temp-mode.el ab . Sie müssen außerdem Emacs 24.4 oder höher verwenden, um die Dateibenachrichtigungsfunktion nutzen zu können.Antworten:
Dies sind in der Tat Escape-Sequenzen, die das Terminal als Befehle zum Ändern der Textfarbe interpretieren sollte. Normalerweise sollten sie nicht verwendet werden, wenn der Compiler von Emacs aus aufgerufen wird (der Terminaltyp sollte auf gesetzt sein
dumb
, was dazu führen sollte, dass der Compiler keine Escape-Sequenz verwendet). Möglicherweise stimmt etwas in Ihrer Konfiguration nicht, was dazu führt, dass Farben verwendet werden, wenn dies nicht der Fall sein sollte. Mit dem ansi-color- Paket können Sie Emacs jedoch dazu bringen, die Escape-Sequenzen zu erkennen .So etwas sollte dazu führen, dass Kompilierungspuffer ANSI-Escape-Sequenzen verarbeiten, anstatt sie als unformatierte Zeichenfolgen anzuzeigen.
quelle