Ich starte häufig externe Programme von Emacs mit M-!
Firefox oder Evince usw. Immer wenn ich dies tue, wird ein Puffer mit Ergebnissen für den Prozess angezeigt, der alles blockiert, was ich sonst noch in Bezug auf die Windows-Anordnung vorhabe.
Gibt es eine Möglichkeit, solche Puffer standardmäßig zu begraben, damit ich sie nicht sehen muss, es sei denn, ich entscheide mich, sie zu suchen?
Antworten:
Da erwähnt wird, dass der Befehl asynchron ausgeführt wird, gehe ich davon aus, dass Sie den Befehl meinen, an den
async-shell-command
gebunden ist M-&. Sie können die Beratung in Dokumentation folgenasync-shell-command
(Sie es , indem Sie lesen können C-hfasync-shell-command
RET) customizedisplay-buffer-alist
wie folgtJetzt wird der vom Befehl zum Anzeigen der Ausgabe verwendete Puffer nie mehr angezeigt.
quelle
M-&
. Ich habe den Befehl, den ich an die Shell übergeben habe, verwendetM-!
und dann manuell hinzugefügt&
.Emacs verfügt über eine Allzweckfunktion, um zu verhindern, dass unbeabsichtigte (oder tatsächlich beabsichtigte) Änderungen der Fensterkonfiguration Probleme verursachen.
Fügen Sie
(winner-mode 1)
Ihrer Init-Datei hinzu. Wenn dann etwas Ihre Fenster durcheinander bringt, verwenden Sie C-c<left>(winner-undo
), um sie wiederherzustellen. Sie können es wiederholt verwenden, um mehrere Fensterkonfigurationsänderungen rückgängig zu machen. C-c<right>(winner-redo
) bringt Sie zur neuesten Konfiguration zurück.quelle
Hier ist meine Konfiguration. Es sollte gut funktionieren, wenn Sie unter Linux sind.
Diese lästigen Puffer werden nicht nur ausgeblendet, wenn Sie beispielsweise eine PDF-Datei öffnen
dired
, Evince bleibt auch dann bestehen , wenn Sie Emacs schließen. Es gibt auch eine kleine Anpassung für das Einreihen markierter Videodateien in eine VLC-Wiedergabeliste.quelle
Sie können dieses Fenster für einen einzelnen Befehl unterdrücken, anstatt ihn global zu verwenden
let
quelle
(cons NEWTHING display-buffer-alist)
stattdessen vor(list NEWTHING)
, den ursprünglichen Alist nicht vollständig zu hemmen.