38 votes

Comment puis-je exécuter Cygwin Bash Shell à partir d'Emacs ?

J'utilise GNU Emacs sous Windows et j'y entre :

M-x shell

lance le shell DOS de la ligne de commande de Windows. Cependant, j'aimerais pouvoir lancer le shell Cygwin Bash (ou tout autre shell non-Windows) à partir d'Emacs. Comment cela peut-il être fait facilement ?

2voto

Yoo Points 3276

J'utilise EmacsW32. C-h a shell$ donne une liste de commandes de lancement du shell et les commandes cmd-shell et cygwin-shell semblent intéressantes. Ces deux commandes nécessitent EmacsW32. Elles se trouvent également dans le menu : Outils > W&32 Shells .

Si vous lancez cygwin-shell pour la première fois, et si vous n'avez pas configuré le chemin d'accès à cygwin dans Emacs, il vous conduit à la page de personnalisation où vous pouvez configurer le chemin d'accès à cygwin en appuyant sur le bouton Rechercher.

1voto

Inno Points 951

Comme ces approches n'ont pas fonctionné pour moi, je l'ai obtenu de la manière suivante :

(J'utilise NTEmacs qui ouvre un shell dos par défaut, donc peut-être que votre emacs se comporte de la même façon)

Créez une variable d'environnement Windows appelée SHELL ('SHELL' et non '$SHELL') et donnez-lui le chemin d'accès à bash.exe de votre installation cygwin (par exemple c : \programs\cygwin\bin\bash.exe )

Maintenant quand on fait M-x shell ça ouvre un bash.

Regards,

Inno

0voto

mcheema Points 333

En plus de la réponse de @Chris Jones concernant le fait d'éviter l'argument --login de bash, j'ai défini les arguments de ligne de commande suivants :

 (setq explicit-bash-args '("--noediting" "-i"))

L'option --noediting empêche toute interférence avec la bibliothèque GNU readline et l'option -i spécifie que le shell est interactif. J'utilise également le fichier .emacs_bash dans mon répertoire personnel pour toute personnalisation de bash spécifique à emacs.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X