it-swarm-ja.com

cygwinでemacsを実行する

Cygwinに付属のEmacsをインストールしました。 Cygwinのコンソールウィンドウからではなく、Cygwinに独自のウィンドウでEmacsを実行させるにはどうすればよいですか?.

UbuntuでターミナルからEmacsを実行すると、EmacsのGUIが開くのが好きです。

6
starcorn

Xサーバーを実行してemacsのxバージョンをインストールする必要があります。cygwinには両方が含まれています(インストール中に正しいパッケージを選択した場合)。

Xサーバーは、インストール後にコマンドstartxで起動される可能性があります。

6
Nifle

X以外のソリューションは、cygwinセットアップのエディターの下にあるemacs-w32パッケージです。 emacsをネイティブWindowsアプリケーションとして実行しますが、それでも純粋なCygwinです。ショートカットから直接起動する場合は、〜/ .emacsの次の設定が気に入るかもしれません。

CygwinがデフォルトでPATHにない場合は、cygwinをパスとexecパスに追加します。

(setenv "PATH"(concat "/ bin:/ usr/bin:/ usr/local/bin:"(getenv "PATH")))
(nconc exec-path '( "/bin ""/usr/bin ""/usr/local/bin "))

JavaまたはC:\ whateverのようなファイル名を生成するその他のものをコンパイルする場合は、最初に/ etc/fstabを編集して、C:\から/ cに次のようなマウントを追加します。

C:/ c ntfsバイナリ、ユーザー1 1

そして、C:で始まるファイルを、〜/ .emacsでこれを使用してCygwinスタイルのファイル名に変換される「魔法のファイル名」として扱います。ここでは、最初の引数で2つのregex置換を実行し、残りを無視しています。誰かがおそらくこれのために.elを作成し、それをより堅牢にして、それを http://www.emacswiki.org/emacs/ElispArea に投稿する必要があります:

; cygwinにいるときは、C:\ whateverが/ c/whatever 
(defun cygwin-name-hook(operation&rest args)
 "Windowsファイル名をCygwinファイル名に変換します。" 
 ;;すべての操作を同じように処理します
(let((first(car args))
(inhibit-file-name-handlers 
(cons'cygwin-name-hook 
(および(eqinhibit-file-name-operation操作)
 inhibit-file-name-handlers)))
(inhibit-file-name-operation操作))
(setq first(replace-regexp-in-string "^ C:" "/ c" first t))
(setq first(replace-regexp-in-string "\\\\" "/" first t))
(apply operation(cons first(cdr args)))))
 
(add-to-list'file-name-handler-alist '( "^ [Cc]:"。cygwin-name-hook))

次に、mintty内でemacs -nwを実行すると、より多くのキーを認識できるようになり、〜/ .emacsに配置します。

; ***** mintty 
(define-key function-key-map "\ e [1; 5m" [(control?-)])
(define -key function-key-map "\ e [1; 5k" [(control?=)])
(define-key function-key-map "\ e [1; 5q" [(control?1 )])
(define-key function-key-map "\ e [1; 5s" [(control?3)])
(define-key function-key-map "\ e [1; 5t "[(control?4)])
(define-key function-key-map"\e [1; 5u "[(control?5)])
(define -key function-key-map "\ e [1; 5w" [(control?7)])
(define-key function-key-map "\ e [1; 5x" [(control?8 )])
(define-key function-key-map "\ e [1; 5y" [(control?9)])
(define-key function-key-map "\ e [1; 5p "[(control?0)])
4
maxpolk