Unix 環境を実現してくれます。
Meadow と連携することで、とってもうれしくなることうけあいです。
Cygwin の ミラーサイト から、最新の setup.exe をとってきます。
SET HOME=C:\home ---ホームディレクトリ (Meadow と同じ) SET MAKE_MODE=UNIX SET PATH=C:\cygwin\bin;C:\cygwin\usr\bin ---パスの追加 SET SHELL=C:\cygwin\bin\bash.exe
Cygwin のシェルは bash なので、ホームディレクトリに、下記の内容の .bashrc をおきます。
export SHELL=/bin/bash.exe export HOME=C:/home export TMPDIR=/tmp export TZ=JST-09 export MAKE_MODE=UNIX export CYGWIN="notty binmode ntea nontsec" export TERM=cygwin uname -a echo Now bash version $BASH_VERSION starts !!!
(setq explicit-shell-file-name "bash.exe")
(setq shell-file-name "sh.exe")
(setq shell-command-option "-c")
(add-hook 'shell-mode-hook
(lambda ()
(set-buffer-process-coding-system 'undecided-dos 'sjis-unix)))
(setq shell-file-name-chars "~/A-Za-z0-9_^$!#%&{}@`'.,:()-")
;; 下記は Meadow のみ有効 NTEmacs では動かない
(require 'mw32script)
(mw32script-init)
(if (and (= 20 emacs-major-version) (= 2 emacs-minor-version))
(if (functionp 'orig-start-process)
()
(fset 'orig-start-process (symbol-function 'start-process))
(defun start-process (name buffer program &rest args)
(interactive)
(apply 'orig-start-process name buffer program
(mapcar (lambda (arg)
(encode-coding-string arg file-name-coding-system))
args)))))
(add-hook 'comint-output-filter-function 'shell-strip-ctrl-m nil t)