Wie kann ich verhindern, dass Emacs ein neues Fenster für die Kompilierungsausgabe öffnet?

8

Wie kann ich verhindern, dass Emacs beim Aufruf des Kompilierbefehls ein neues Fenster öffnet? Ich möchte es an ein bestimmtes vorhandenes Fenster binden.

    
Łukasz Lew 29.11.2011, 11:12
quelle

5 Antworten

8

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.

    
zdav 29.11.2011 13:41
quelle
3

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:

%Vor%

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:

%Vor%     
Luke Girvin 29.11.2011 11:56
quelle
0

Sie sind sich nicht sicher, was Sie fragen, aber wenn Sie möchten, dass die Puffer -Kompilierung im aktuellen Fenster angezeigt wird, anstatt in einem anderen Fenster angezeigt zu werden, dann:

%Vor%     
Drew 29.11.2011 23:43
quelle
0

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 .

%Vor%     
CodyChan 01.02.2015 22:42
quelle
0

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)

    
Mekk 06.02.2015 13:28
quelle

Tags und Links