6
votes

Tuer la mémoire tampon associée lors de la fermeture du cadre du client Emacs en appuyant sur Alt + F4

Je m'habitue à EmacsClient pour la réponse rapide comme Vim, en mettant des Emacs en mode STRP avec commande "Emacs --Daemon". Mais je l'ai trouvé assez ennuyeux que de nombreux tampons gardaient vivants lorsque j'ai visionné des fichiers, puis fermés en appuyant sur Alt + F4. Je dois tuer le tampon explicitement avant de fermer le cadre.

Je veux savoir, s'il y a un moyen de faire de l'emacsclient se comporter plus comme un éditeur d'interface graphique légère (E.g. Vim) à ce stade?


1 commentaires

J'ai trouvé que le problème a disparu si je supprimais l'option "-n" de la CMDLINE. C'est-à-dire que commencer le démon EMACS en utilisant "EmacsClient -C" au lieu de "EmacsClient -C -C -N". J'ai créé un script pour gérer le "retour sans attente" Stuff: Pastebin.com/3vv1DSRB


3 Réponses :


3
votes

Je pense que vous demandez des problèmes, mais vous pouvez essayer ceci:

(add-hook 'delete-frame-functions
          (lambda (frame)
            (let* ((window (frame-selected-window frame))
                   (buffer (and window (window-buffer window))))
              (when (and buffer (buffer-file-name buffer))
                (kill-buffer buffer)))))


0 commentaires

1
votes

Faites quelque chose comme ce qui suit:

(global-set-key [(f5)] 'my-kill-buffer-and-frame)


1 commentaires

Cool! C'est une autre solution possible :)



2
votes

Je vous suggère d'utiliser la commande Quit-window qui fait précisément ce que vous voulez (avec l'argument de préfixe); C'est déjà la liaison pour q dans mode spécial (c'est-à-dire, pas de mémoire tampon auto-insert). Vous pouvez le lier à, disons, c-f4 , et il tuera le tampon et le cadre lorsque vous tapez c-u c-f4 . .


0 commentaires