Je lance fréquemment des programmes externes à partir d'emacs en utilisant M-!
, tels que Firefox ou Evince, etc. Chaque fois que je le fais, un tampon apparaît plein de résultats pour le processus, ce qui détruit tout ce que j'ai en termes d'agencement de fenêtres.
Existe-t-il un moyen d'enterrer de tels tampons par défaut, de sorte que je n'ai pas à les voir à moins que je décide d'aller les chercher?
Réponses:
Étant donné que la commande s'exécute de manière asynchrone, je suppose que vous voulez dire la commande
async-shell-command
liée à M-&. Vous pouvez suivre les conseils dans la documentation deasync-shell-command
(vous pouvez le lire en faisant C-hfasync-shell-command
RET) personnaliserdisplay-buffer-alist
comme suitMaintenant, le tampon utilisé par la commande pour afficher la sortie ne sera plus affiché.
la source
M-&
non plus. J'utilisaisM-!
puis j'ajoutais manuellement le&
à la commande que j'ai passée au shell.Emacs dispose d'une fonction à usage général pour empêcher tout changement de configuration de fenêtre non intentionnel (ou même intentionnel) de causer des problèmes.
Ajoutez
(winner-mode 1)
à votre fichier init. Ensuite, lorsque quelque chose perturbe vos fenêtres, utilisez C-c<left>(winner-undo
) pour les restaurer. Vous pouvez l'utiliser à plusieurs reprises pour annuler les modifications de configuration de plusieurs fenêtres. C-c<right>(winner-redo
) vous ramène à la configuration la plus récente.la source
Voici ma configuration. Cela devrait très bien fonctionner si vous êtes sous Linux.
Non seulement il masquera ces tampons embêtants lorsque vous ouvrirez par exemple un fichier pdf
dired
, mais Evince persistera même si vous fermez Emacs. Il y a aussi une petite personnalisation pour mettre en file d'attente des fichiers vidéo marqués pour une liste de lecture vlc.la source
Vous pouvez supprimer cette fenêtre pour une seule commande au lieu d'utiliser globalement
let
la source
(cons NEWTHING display-buffer-alist)
plutôt de(list NEWTHING)
ne pas inhiber complètement l'aliste d'origine.