Question

J'ai effectué des recherches pour que Cygwin fonctionne sous emacs . Je le fais fonctionner, mais maintenant je veux écrire une macro qui fera ce qui suit:

  • Lancez-vous en tapant M-x cygwin
  • Le script est stocké à un endroit évident (probablement mon fichier .emacs)
  • shell M-x
  • Renommez le tampon en cygwin (ou cygwin1, cygwin2, cygwin3, ... si cygwin existe) en utilisant probablement M-x rename-buffer
  • M-x ansi-color-for-comint-mode-on
  • M-x système 'undecided-unix' 'undecided-process-coding-system'
  • Ouvrez et exécutez cygwin

Il va fondamentalement faire toutes les étapes ci-dessus. Je pense que la majeure partie de l'organisation de ce petit projet est terminée. Comment puis-je faire le lien afin de pouvoir taper M-x cygwin et voir un nouveau tampon joyeux? Que faut-il ajouter exactement à .emacs? En outre, où se trouve exactement le .emacs dans Windows?

Je veux toujours pouvoir exécuter M-x shell pour le shell Windows pour le moment. Je peux aussi créer des macros similaires pour MSYS et ssh sur mes machines Linux. Comment puis-je commencer?

Était-ce utile?

La solution

Beaucoup de questions, voici quelques réponses:

Vos fichiers .emac peuvent exister de nombreux endroits, cela dépend, lisez ici . En bref, essayez Cx Cf .emacs , ou vérifiez la valeur de la variable 'fichier-init-utilisateur ( Ch v utilisateur-init-fichier ).

Je pense que la commande que vous voulez correspond à ceci:

(require 'comint) ; this does require comint
(defun cygwin ()
  "do what i want for cygwin"
  (interactive)
  (let ((buffer (get-buffer-create (generate-new-buffer-name "cygwin"))))
    (pop-to-buffer buffer)
    (unless (comint-check-proc buffer)
      (apply 'make-comint-in-buffer (buffer-name buffer) buffer "c:/cygwin/Cygwin.bat"
             nil
             nil)
      (ansi-color-for-comint-mode-on)
      (set-buffer-process-coding-system 'undecided-unix 'undecided-unix))))

Remarque: j'ai directement exécuté le processus Cygwin.bat au lieu d'exécuter un shell, puis de démarrer ce programme de traitement par lots. Je crois que l'effet est le même, et plus simple. J'ai choisi la méthode la plus simple pour nommer le tampon (en utilisant 'generate-new-buffer-name ) - vous voudrez personnaliser selon vos préférences.

Vous pouvez supprimer la commande ci-dessus dans votre fichier .emacs le plus simple en effectuant le C-x C-f .emacs et en le collant dans le tampon qui s’ouvre. Enregistrez-le et redémarrez-le (ou M-x eval-defun lorsque votre curseur est dans le corps de cette commande. Ensuite, M-x cygwin exécutera la commande.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top