Wie kann ich verhindern, dass Emacs beim Aufruf des Kompilierbefehls ein neues Fenster öffnet? Ich möchte es an ein bestimmtes vorhandenes Fenster binden.
Aufgrund Ihrer Kommentare mit Luke würde ich empfehlen, diese Funktion, die ich verwende, auszuprobieren. Ich mag es, weil es den Kompilierungspuffer vergräbt, wenn keine Fehler aufgetreten sind, sonst wird es gelöscht, damit Sie sie sehen können.
Sie können das Emacs-Wiki nach der Seite durchsuchen, aber hier ist der Code:
%Vor%Sie können jederzeit zum Kompilierungspuffer zurückkehren, um Warnungen anzuzeigen.
Sie können den Namen des Kompilierungspuffers auswählen, indem Sie compilation-buffer-name-function
auf eine Funktion setzen, die den Namen des Hauptmodus annimmt und einen Buffernamen zurückgibt:
Beim Betrachten des Quellcodes für compliation-start
sieht es jedoch so aus, als ob der Kompilierungspuffer immer gelöscht wird (durch Aufruf von erase-buffer
), bevor die Ausgabe geschrieben wird.
Bearbeiten : Wenn ich die Frage richtig verstanden habe, musst du die Funktion compilation-start
in deiner compile.el
Datei hacken, indem du eine Zeile auskommentierst:
Kombination von @zdav 's anwser und Code von Ссылка , das ist alles mein Code für compile
, es bietet Sie 4 Funktionen:
1). Verwenden Sie compile-again
, um die gleiche Kompilierung wie beim letzten Mal automatisch ohne Aufforderung auszuführen. Wenn es kein letztes Mal gibt oder ein Präfix-Argument existiert, verhält es sich wie M-x kompilieren.
2). compile
teilt das aktuelle Fenster auf, es wirkt sich nicht auf die anderen Fenster in diesem Frame aus.
3). Es wird automatisch den *compilation*
-Puffer (Fenster) schließen, wenn kein Fehler vorliegt. Behalte es, wenn ein Fehler existiert.
4). Er markiert die Fehler- und Zeilennummer des Quellcodes im *compilation*
-Puffer, verwendet M-n/p
, um jeden Fehler in *compilation*
buffer, Enter
in der Fehlerzeile zu navigieren, um zu der Zeile in Ihrem Code zu springen .
Ich habe eine ähnliche Frage für einen anderen Fall (Man-Modus) gestellt, aber vielleicht wird der Code auch hier von Nutzen sein: Emacs * Man * Pufferspeicher verwalten? (insbesondere Ссылка , aber prüfe die Frage oben)
Tags und Links emacs