본문 바로가기

Basic Theory

Emacs(Windows) 에서 bash shell 사용하기

Linux(Ubuntu) 환경에서는 기본적으로 Emacs에서 M-X ansi-term 을 입력하면 bash shell 을 사용할 수 있다. 하지만 윈도우(windows)에서는? 윈도우에서도 Emacs 내에서 bash shell 을 사용하고 싶은 욕구(?)에 여기저기 수소문(=구글링)을 한 결과


드디어 Emacs(windows)에서 bash shell을 사용할 수 있게 되었다.


사용하기 전에 앞서 

(defun my-shell-setup()
"for cygwin bash under emacs"
(setq exec-path (cons "C:/cygwin/bin" exec-path))
(setenv "PATH" (concat "C:/cygwin/bin;" (getenv "PATH")))
(add-to-list 'load-path "C:/emacs/site-lisp")
(require 'cygwin-mount)
(cygwin-mount-activate)

(setq shell-file-name "c:/cygwin/bin/bash.exe")
(setq explicit-shell-file-name shell-file-name)
(setq explicit-sh-args '("--login" "-i"))
(setq explicit-bash-args '("--login" "-i"))
(setq explicit-bash.exe-args '("--login" "-i"))
(setq shell-command-switch "-c")
(setq w32-quote-process-args t)
(setq comint-scroll-show-maximum-output 'this)
(setq comint-eol-on-send t)
(setq w32-quote-process-args ?")
(make-variable-buffer-local 'comint-completion-addsuffix)
(setq process-coding-system-alist '(("bash" . euc-kr)))
(setq tab-width 5)
(ansi-color-for-comint-mode-on) ;; *shell* buffer colorization!!!!
)
(my-shell-setup)

  • 생성한 .emacs 파일을 C:\Documents and Settings\[PC사용자명]\Application Data 에 넣어준다.
이제 Windows 환경에서 Emacs를 실행한 뒤 M-X shell 을 입력하면 Linux 환경처럼 bash 를 사용할 수 있다.

p.s : 구글을 찾아 보았지만 bash shell 에서
$ cd c:/
^[]0;/cygdrive/c^G
=> 이런 문구가 나타나는데 나타나는 이유 & 없애는 방법을 못 찾은 상태이다. 혹시라도 이 글을 본 뒤 알고 있으신 분 있으시면 한 수 알려주시면 감사하겠습니다.