CygwinをWindowsのEmacsと統合する方法はたくさんあります。 EmacsWiki はいくつかのアイデアを示しています。私が見つけたオプションは次のとおりです。
「理由」について明確にするため。以下に、EmacsでCygwinを使用したいいくつかの例を示します。
それで、Emacs/Cygwinのどのオプションが他の人にとってうまく機能しますか?また、誰かがMSYSの統合に成功しましたか?
CygwinでEmacsを使用します。 XEmacs..Emacsではありません。 Cygwinからすべてをインストールし、次を入力してEmacsを実行します。
XWin -multiwindow export DISPLAY =:0.0 emacs&
また、次のようにCドライブ(または他のドライブ)へのリンクを作成すると役立つ場合があります。
ln -s /cygdrive/c /c
私はこれを数ヶ月使用しており、常にうまく機能しています。私は常に問題なくTRAMPやSubversionのような高度な機能を使用しています。セデットなどのすべての高度なパッケージが機能します。
あなたが気付いていなかった場合、私は元のポスターです。私の研究と試みのすべての後、これは働きました、そして、私はとても喜ばれます。良い仕事Cygwin!
また、Emacs内でシェルを使用しないことをお勧めします。 top
のようなユーティリティは動作しないようです。代わりに、MinTTYと画面を使用してください。 CygwinはMinTTYで直接sshを提供します(PuTTYは不要です)。最良の部分は、Linuxの知識の多くがWindowsでシームレスに機能することです。
最適なソリューションは、cygwin emacs-w32でなければなりません。 win32ネイティブGUIとcygswin POSIXシステムを使用します。つまり、WindowsネイティブGUIプログラムとすべてのcygwinパスがあり、シェルが機能しています。
インストールは非常に簡単です。setup.exe-> emacs-w32。バージョン番号は24.2.93.1になりました。
とても良い。
4番目の選択肢は、Cygwinの代替端末の1つ(u)rxvt、mintty、xtermでemacsを実行することです。これらはすべてコンソールよりもはるかに優れた端末エミュレーションを提供するため、emacsエクスペリエンスが大幅に向上します。
私は windows上のemacs のネイティブバージョンを gnu utils の(ネイティブ)ポートと組み合わせて使用する傾向があります。もの。
次に、bashシェルと欠落しているものにcygwinウィンドウを使用します。
ルートにcygwinをインストールしました。明示的に警告していますが、悪影響はありませんでした。 (Steve Yeggeからのアドバイスを見つけました)。
cygwin-mount もインストールしました。また、私はispellからaspellに切り替える必要がありました。最後に、少し.emacsを微調整しました。
;;;;;;;;;;;;;;;;;;;;;;
;;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)
)
Cygwinセットアッププログラムから取得するxemacs
バージョンが気に入っています。箱から出して動作し、 Alt キーマップ Meta 必要なときにいつでもbashシェルバッファーが存在します。
@justinhjと同じように、Windowsでネイティブバージョンのemacsをgnu utilsの(ネイティブの)ポート(たとえば、「strings」のbinutilsなど)と組み合わせて使用します。
そして、Ialwaysは、シェルとして、Emacs内で、またはEmacsから独立して、cygwinを使用します。そうすることで、WindowsからLinux/AIX/Solarisに切り替えたり、切り替えたりしたときに、作業環境のルックアンドフィールを保持できます。
しかし残念ながら、Emacsを21.2から23.2にアップグレードすると、Emacsはデフォルトで '/ cygwin/c'を認識できなくなりました。なぜこれが機能しなくなったのか、それを修正するために何ができるのかを調べるために、今これを調査する必要があります。次の情報を見つけたので、これが役立つかどうかを確認します。デフォルトでは常にそこにあったもののために外部パッケージが必要になったのは奇妙に思えます:
ただし、追加のパッケージの使用を最小限に抑えることを好みます。したがって、「新しい」Emacs + Cygwinの動作をさらに確認したところ、「/」と入力するだけでC:ドライブにアクセスできるようになりました。
それはクールです-/ cygdrive/cの代わりに1文字(スラッシュ)だけです。ただし、Emacs内のシェルは、「/ cygdrive/c」というプロンプトを表示しますが、これはやや紛らわしい違いです。
3番目のオプション。 NTEmacs + EmacsW32 + Cygwinを使用しています。このようにして、Unixユーティリティとbashシェルを備えたネイティブWindowsアプリケーションができました。メイクファイルは機能します。M-x whois
しかし。このセットアップの直接的な欠点は考えられません。
基本的に http://www.emacswiki.org/emacs/NTEmacsWithCygwin と非常に似ている、私のセットアップの興味深い部分を以下に示します。
(setq cygwin-root "c:/cygwin/")
(setq private-bin (concat home-dir "/usr/bin"))
(setq exec-path (cons private-bin exec-path))
(setenv "PATH" (concat private-bin ";" (getenv "PATH")))
; Add Cygwin Emacs stuff
(add-to-load-path "/usr/share/emacs/site-LISP")
; Add Cygwin Info pages
(add-to-list 'Info-default-directory-list
(concat cygwin-root "usr/share/info/"))
(setq Shell-file-name "bash")
(setenv "Shell" Shell-file-name)
(setq explicit-Shell-file-name Shell-file-name)
(setq w32Shell-cygwin-bin "c:\\cygwin\\bin")
(require 'w32Shell)
(w32Shell-add-emacs)
(w32Shell-set-Shell "cygwin")
私は3つのオプションを調査しましたが、すべてEmacsのウィンドウ(X11ではありません)バージョンでした。 (端末は私にはハードコアすぎます。)ここに行きます:
Cygwinの人々は、あなたを彼らのEmacs/XEmacsに導くことを望んでいます。 http://cygwin.com/faq/faq-nochunks.html#faq.using.ntemacs で、Cygwinポートを使用する場合、この「すべてが「機能する」ことに注意してくださいCygwin SetupのEmacsまたはXEmacsの」。
Xemacsに加えて、xemacs-sumoパッケージを必ずインストールしてください。そうしないと、M-x Shellは機能しません。 X11を使用せずにxemacsを起動できます
DISPLAY= xemacs &
欠点:1)少年、これはoldEmacsです。 2)他の人がEmacs 23を使用しているとき、私は本当にこれを使いたくありませんでした。2)X11を実行していない場合でも、インストールにX11ライブラリが必要になるのは少し面倒です。 3)すぐに使用できるcuaモードはありません。
EmacsW32(http://ourcomments.org/Emacs/EmacsW32.html)には、ワンクリックインストーラー、M-x cygwin-Shellコマンド、およびCUAモードがあります。しかし、Cygwin Shellのタブ補完ではWindowsパスを使用しているため、私は夢中になりました。 W32移植版は2008年以降積極的に改善されていないようですが、インストーラーに最新のEmacsバージョンを提供しています。
Windows用の標準のEmacsが最善の策のようです。 http://ftp.gnu.org/pub/gnu/emacs/windows/ からダウンロードし、解凍して起動しますCygwin内から。次に、ホームディレクトリなどを取得します。mumbo-jumboを http://cygwin.com/faq/faq-nochunks.html#faq.using.ntemacs から〜/ .emacsに貼り付けます。 Emacsを再起動し、M-xシェルを実行します。すべて正常に機能します。
FWIW、私は通常のGNU Emacs Windowsリリースを使用し、Cygwinを使用します。問題は一度もありませんでしたが、Emacs以外ではCygwinをあまり使用しません。古いバージョンのCygwin(すべてのバージョンのEmacs)を使用します。
セットアップのために、次の2つのファイルを順番にロードします。
ソースからemacsをビルドします。
- ダウンロード 最新の安定版リリース(この記事の執筆時点では24.5)。
-解凍してemacsフォルダーにcdします
-これらの手順を順番に実行します。
$ ./autogen.sh
$ ./configure --with-w32
$ make
$ make install
-emacs.exeを手動で「emacs folder」/ srcからcygwin/binにコピーします
-emacsを実行します。
$ emacs&