43 votes

Comment intégrer au mieux Emacs et Cygwin?

Il ya une tonne de façons d'intégrer Cygwin avec Emacs sous Windows. EmacsWiki montre quelques idées. Voici les options que j'ai trouvé:

  1. Utiliser Emacs qui vient avec Cygwin. (Alors trouver un moyen d'obtenir de cmd.exe si vous le souhaitez.)
  2. Utilisation NTEmacs et Cygwin comme un "parfois" coquille. (Une commande spéciale pour lancer Cygwin)
  3. Utilisation NTEmacs et Cygwin comme le "toujours" du shell. (M-x shell lance cygwin)

Pour donner de la clarté à "pourquoi". Voici quelques exemples de cas où je souhaite que j'avais Cygwin avec Emacs:

  1. M-x whois ne fonctionne pas sur NTEmacs.
  2. Les paquets comme Wanderlust inclure un fichier Makefile qui n'est pas Windows convivial.
  3. Parfois j'ai juste besoin d'un shell bash pour quelque chose.

Si l'option d'Emacs/Cygwin fonctionne bien pour les autres? Aussi, quelqu'un a déjà essayé de MSYS intégration avec succès?

21voto

User1 Points 8352

Utiliser Emacs dans Cygwin. Pas XEmacs..Emacs. Je viens de tout installer à partir de Cygwin et tapez la commande suivante pour exécuter Emacs:

XWin -multifenêtré
export DISPLAY=:0.0
emacs&

Il peut également aider à créer un lien vers votre lecteur C (ou tout autre lecteur) comme suit:

ln -s /cygdrive/c /c

J'ai été en utilisant ce pendant plusieurs mois et il marche toujours très bien. J'ai constamment l'utilisation des fonctionnalités avancées comme le CLOCHARD et la subversion sans aucun problème. Tous les paquets comme cedet seulement le travail.

Si vous n'aviez pas remarqué, je suis le posteur d'origine. Après toutes mes recherches et tentatives, celui-ci a fonctionné et j'en suis TRÈS HEUREUX. Bon travail Cygwin!

Aussi, je recommande pas l'utilisation de shell dans Emacs. Les services publics comme l' top ne semblent tout simplement pas de travail. Au lieu de cela, utiliser MinTTY et l'écran. Cygwin vous donne ssh directement dans MinTTY (vous n'avez pas besoin de mastic). La meilleure partie est que beaucoup de mes connaissances Linux fonctionne parfaitement sous Windows.

11voto

Mingo Points 571

La meilleure solution doit être cygwin emacs-w32. Il utilise l’interface native win32 et le système POSIX de cygswin. Cela signifie que vous avez un programme d’interface graphique native Windows et tout le chemin cygwin, le fonctionnement du shell.

L'installation est très facile: setup.exe -> emacs-w32. Maintenant, le numéro de version est: 24.2.93.1

Tellement bon.

8voto

ak. Points 180

Un quatrième choix consiste à exécuter emacs dans l’un des terminaux alternatifs de Cygwin: (u) rxvt, mintty, xterm. Ils offrent tous une bien meilleure émulation de terminal que la console, ce qui améliore considérablement l'expérience emacs.

7voto

justinhj Points 5060

J'ai tendance à utiliser la version native d' emacs sur Windows en conjonction avec les ports (également natifs) de gnu utils , qui sont beaucoup plus rapides, bien que moins complets, que ceux de Cygwin.

Ensuite, je viens d'utiliser une fenêtre cygwin pour le shell bash et les choses qui manquent.

4voto

Jonathan Arkell Points 4265

J'ai installé cygwin à la racine. Cela vous met explicitement en garde contre cela, mais je n'ai constaté aucun effet pervers. (J'ai trouvé ce conseil de Steve Yegge).

J'ai également installé cygwin-mount , ce qui aide beaucoup. De plus, j'ai dû passer d'ispell à aspell. Enfin, un peu de .emacs peaufinant, et j'étais bon aller:

 ;;;;;;;;;;;;;;;;;;;;;;
;;CygForTheWin
;;*cygwin
(when (equal system-type 'windows-nt) 
(message "Setting up Cygwin...")
(let* ((cygwin-root "c:")
       (cygwin-bin (concat cygwin-root "/bin"))
       (gambit-bin "/usr/local/Gambit-C/4.0b22/bin/")
       (snow-bin "/usr/local/snow/current/bin")
       (mysql-bin "/wamp/bin/mysql/mysql5.0.51a/bin/"))
   (setenv "PATH" (concat cygwin-bin ";" ;
                          snow-bin ";" 
                          gambit-bin ";"
                          mysql-bin ";"
                          "c:/usr/local/jdk1.60_03/bin/"
                          ".;")  
           (getenv "PATH"))
   (setq exec-path (cons cygwin-bin exec-path)))

(require 'cygwin-mount)
(cygwin-mount-activate)

(setq shell-file-name "bash")
(setq explicit-shell-file-name "bash")

(defun jonnay-cygwin-shell ()
  "Wrapper around cygwin-shell so that it doesn't throw an error"
  (interactive)
  (condition-case e
   (cygwin-shell)
   (message "There was an error trying to launch the shell: %s" e)))

(message "Setting up Cygwin...Done")


;; found from the manual, check, use and make go?
 (defun my-shell-setup ()
   "For Cygwin bash under Emacs 20"
   (setq comint-scroll-show-maximum-output 'this)
   (setq comint-completion-addsuffix t)
   (setq comint-eol-on-send t)
   (setq w32-quote-process-args ?\")
   (make-variable-buffer-local 'comint-completion-addsuffix))

(setq shell-mode-hook 'my-shell-setup)
(add-hook 'emacs-startup-hook 'jonnay-cygwin-shell)
)
 

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