Linux(Ubuntu) 환경에서는 기본적으로 Emacs에서 M-X ansi-term 을 입력하면 bash shell 을 사용할 수 있다. 하지만 윈도우(windows)에서는? 윈도우에서도 Emacs 내에서 bash shell 을 사용하고 싶은 욕구(?)에 여기저기 수소문(=구글링)을 한 결과
드디어 Emacs(windows)에서 bash shell을 사용할 수 있게 되었다.
사용하기 전에 앞서
- c:/cygwin/ 이 경로에 Cygwin이 설치되어있는 환경이라고 가정한다.
- http://home.blarg.net/~offby1/cygwin-mount/cygwin-mount.el 이 파일을 받은 후에 C:/emacs/site-lisp 여기에 넣어준다.
- 아래의 내용을 긁어서 .emacs 라는 파일명으로 저장한다
(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
=> 이런 문구가 나타나는데 나타나는 이유 & 없애는 방법을 못 찾은 상태이다. 혹시라도 이 글을 본 뒤 알고 있으신 분 있으시면 한 수 알려주시면 감사하겠습니다.
'Basic Theory' 카테고리의 다른 글
Twitter RSS Feed 문제 해결 (0) | 2012.10.18 |
---|---|
프로그램을 실행하는데 있어서 메모리 공간이 필요한 이유? (0) | 2012.07.16 |
[펌] Morris worm(모리스 웜) (0) | 2012.06.26 |