GNU 23.1.1
En cliquant sur le bouton F5, je peux compiler mon projet. Cependant, je souhaite étendre cela afin que tout travail non enregistré soit enregistré puis compilé. P>
Normalement, je viens de faire C-X-S pour enregistrer puis cliquez sur F5. Mais puis-je ajouter une ligne qui sauvera sans avoir à me demander que je veux enregistrer, tout cela sera compilé automatiquement? P>
; Compile program using <F5> ; Save all unsaved files here, then compile (global-set-key [f5] 'compile)
3 Réponses :
Vous pouvez utiliser Enroulez-le avec une fonction avec puis définissez F5 pour exécuter cette fonction au lieu de compiler uni. p> Utilisez Vous devez également ajouter (sauvegarder-certains-tampers 1) code> Pour enregistrer tous les tampons contenant des modifications. Compiler code> comme: p> (Enregistrer-certains-tampons) code> ( Pas d'argument) Si vous préférez EMACS pour vous poser une question sur chaque tampon à enregistrer. En outre, vous voudrez peut-être rendre la commande compilation personnalisable, comme c'est-à-dire avec compile code> ... Je vous laisserai cela. P>
Travail h1>
(interactif) code>, voir l'exemple complet ci-dessous. p> (defun save-all-and-compile ()
(interactive)
(save-some-buffers 1)
(compile compile-command))
(global-set-key [f5] 'save-all-and-compile)
Je vous recommanderais d'utiliser une clé (ou une combinaison) dans votre zone de frappe principale plutôt que de quelque chose comme F5 pour le faire.
Obtenir cette erreur Command-Execute: Type Type Argument: Commandp, enregistrement-tout-et-compile Compil> Lorsque vous tapez F5 après ajout de cette ligne (touche globale-Set [F5] 'Enregistrer-tout -et-compiler) code> pour lier la clé. Je suis sur Emacs 24.5.1.
Vous devez ajouter (interactif) code> comme première ligne du défunt code>.
sur chaque EMACS que j'utilise (à partir du 19,34 à 24), compiler demande de sauver un tampon non sauvé avant de continuer. Je suis très surprise que ce n'est pas le cas pour vous. P>
Donc, la compilée M-X (F5 pour vous) demandera à sauver un tampon non lavé. P>
Vous pouvez personnaliser la compilation-Demander-SAVE-SAVE à NIL si vous souhaitez compiler de manière inconditionnelle, enregistrez votre tampon, ou laissez-la à sa valeur non nul par défaut si vous souhaitez être posé. P>
Oui, tu as raison. Il vous demande de sauvegarder. Cependant, je préférerais ne pas être invité mais pour sauver quoi que ce soit sur chaque compilation. Normalement, j'ai toujours plus de 1 tampon ouvert et je voudrais juste sauver quoi que ce soit sans être invité à chaque compilation.
Ensuite, personnalisez la compilation-Demander-Save. C'est juste pour cela (sauvegarder tout tampon sans demander avant la compilation)?
Mettez (SETQ Compilation-Posez-Save-Save-Save-Save-Save-Save-Save-Save-Save-Save-Save) Dans votre .emacs code> Pour enregistrer automatiquement (sans demander) avant de compiler ou de recompiler. P>
Je pense que vous vous demandez comment obtenir Emacs pour économiser automatiquement chaque fois que vous compilez? Vérifiez ma réponse ci-dessous pour comment faire cela.
Bien que un peu différent de ce que vous demandez, cette recette d'ajout d'un
After-sauvegarde-crochet code> a fait le tour pour moi - RTTI.FELK.CVUT.CZ/~SOJKA/BLOG/COMPILE-ON-SAVE