eclipse + pdt + rse 환경에서 emacs로 넘어가려고 하고 있다.
이유는 다수의 프로젝트를 생성 관리하는 상황에서 GUI만 사용하는 이클립스 환경에서는 이를 간단하게 자동화 할 방법이 없기 때문이다.
(물론 이클 플러그인을 짜서 '복잡하게 자동화'할 방법은 많이 있을 것이다... 그러나 scripting eclipse 는 여전히 정체중. 참고 : eclipse shell, Would You Script Eclipse? )
또 gui 기반의 os와 eclipse를 넘나들면서 하는 작업에 진력이 난 이유도 있다.
결국 근본적인 해결을 위해 linux로 완전히 이행할 생각이다.
이유는 다수의 프로젝트를 생성 관리하는 상황에서 GUI만 사용하는 이클립스 환경에서는 이를 간단하게 자동화 할 방법이 없기 때문이다.
(물론 이클 플러그인을 짜서 '복잡하게 자동화'할 방법은 많이 있을 것이다... 그러나 scripting eclipse 는 여전히 정체중. 참고 : eclipse shell, Would You Script Eclipse? )
또 gui 기반의 os와 eclipse를 넘나들면서 하는 작업에 진력이 난 이유도 있다.
결국 근본적인 해결을 위해 linux로 완전히 이행할 생각이다.
emacs 에서 php 작업을 하는 것은 어렵지 않다. ecb를 이용하면 프로젝트 트리도 볼 수 있다.
문제는 rse 환경에서처럼 ftp에 연결한 상황에서 프로젝트 트리를 보는 것인데, 어떻게든 될 것 같긴 하지만 확신이 서지 않는다.
일단 리눅스와의 연계 작전을 생각하고 있다. ftpfs처럼 ftp 자체를 마운트해 사용하는 것이다.
(윈도우xp에서는 기본 네트워크 연결 기능을 이용해 ftp 드라이브를 마운트할 수 있다.)
그러나 ftpfs및 새 구현인 lufs 프로젝트는 침체된 듯 하고, gentoo 위키의 게시물을 따라서 fuse를 사용해 보기로 했다.
문제는 rse 환경에서처럼 ftp에 연결한 상황에서 프로젝트 트리를 보는 것인데, 어떻게든 될 것 같긴 하지만 확신이 서지 않는다.
일단 리눅스와의 연계 작전을 생각하고 있다. ftpfs처럼 ftp 자체를 마운트해 사용하는 것이다.
(윈도우xp에서는 기본 네트워크 연결 기능을 이용해 ftp 드라이브를 마운트할 수 있다.)
그러나 ftpfs및 새 구현인 lufs 프로젝트는 침체된 듯 하고, gentoo 위키의 게시물을 따라서 fuse를 사용해 보기로 했다.
X윈도우상에서 터미널모드로 띄우기 ¶
# emacs -nw
나의 emacs 셋팅 ¶
;;; ~/.emacs.d/ 모듈을 자동 로드
(add-to-list 'load-path "~/.emacs.d/")
;;; X윈도우와 Clipboard 결합
(setq x-select-enable-clipboard t)
;;; 줄바꿈 방지 설정
(setq-default truncate-lines t)
;;; 한글 글꼴 설정
;;; http://crazia.tistory.com/entry/Emacs-%ED%95%9C%EA%B8%80%ED%95%98%EA%B3%A0-%ED%95%9C%EC%9E%90%ED%8F%B0%ED%8A%B8-%EA%B7%B8%EB%A6%AC%EA%B3%A0-%EC%9D%BC%EC%96%B4%ED%8F%B0%ED%8A%B8-%EC%89%BD%EA%B2%8C-%EC%A7%80%EC%A0%95%ED%95%B4%EC%A3%BC%EA%B8%B0
(set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("NANumGothicCoding" . "unicode-bmp"));
(set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("NanumGothicCoding" . "unicode-bmp"));
;;; 시작시 안내 메시지 끄기
(setq inhibit-startup-message t)
(setq inhibit-startup-echo-area-message t)
(setq initial-scratch-message nil)
;;; 해시 백업 파일 생성 방지
(setq auto-save-default nil)
(setq make-backup-files nil)
;;; Tab 크기 및 강제 탭 적용
(setq-default tab-width 4)
(setq-default indent-tabs-mode t)
;;; Ctrl+Tab 이용한 버퍼간 이동
(global-set-key (kbd "<C-tab>") 'bury-buffer)
;;; syntax highlighting
(global-font-lock-mode t)
;;;;;; 그루비 모드 관련
;;; use groovy-mode when file ends in .groovy or has #!/bin/groovy at start
(autoload 'groovy-mode "groovy-mode" "Major mode for editing Groovy code." t)
(add-to-list 'auto-mode-alist '("\.groovy$" . groovy-mode))
(add-to-list 'interpreter-mode-alist '("groovy" . groovy-mode))
;;; make Groovy mode electric by default.
(add-hook 'groovy-mode-hook
'(lambda ()
(require 'groovy-electric)
(groovy-electric-mode)))
;;;;;; 탭바 모드 관련
;;; 탭바 표시
(tabbar-mode)
php mode 설치 ¶
관리자로 로그인 : su
(하단 소스의 #은 get이 들어간 소스를 막고 있는 이 서버의 보안 설정 때문이다.
#다운로드 : http://sourceforge.net/projects/php-mode/ wg#et http://internap.dl.sourceforge.net/sourceforge/php-mode/php-mode-1.1.0.tgz #압축 풀면 튀어나오는 php-mode.el을 옮긴다 mv php-mode.el /usr/share/emacs/21.3/lisp/ chmod 644 /usr/share/emacs/21.3/lisp/php-mode.elEmacs 실행 : M-x byte-compile-file RET /usr/share/emacs/21.3/lisp/php-mode.el
.emacs 편집
(autoload 'php-mode "php-mode" "PHP editing mode" t) (add-to-list 'auto-mode-alist '("\\.php\\'" . php-mode))
한글 설정 ¶
출처 : http://morris.xsdeny.net/data/docs/unix/debian_config.txt
참고 : http://jmjeong.com/board/read.php?table=emacs&no=370
참고 : http://jmjeong.com/board/read.php?table=emacs&no=370
/etc/emacs/site-start.el 이라는 파일에 아래 사항을 넣어 주세요
(require 'cl)
(when enable-multibyte-characters
(set-language-environment "Korean")
(setq-default file-name-coding-system 'euc-kr)
;; the following setting is unnecessary from 20.5 >
;;(when (string-match "^3" (or (getenv "HANGUL_KEYBOARD_TYPE") ""))
(setq default-korean-keyboard "")
(setq input-method-verbose-flag nil
input-method-highlight-flag nil)
;; 주로 기존 파일을 열 때 인식에 사용된다
(prefer-coding-system 'euc-kr)
;; 새 파일을 작성할 때 사용된다
(set-default-coding-systems 'euc-kr)
;;(setq default-process-coding-system '(euc-kr . euc-kr))
(when window-system
(global-set-key "\C-\\" 'undefined))
(add-hook 'quail-inactivate-hook 'delete-quail-completions)
(defun delete-quail-completions ()
(when (get-buffer "*Quail Completions*")
(kill-buffer "*Quail Completions*")))
(unless window-system
(menu-bar-mode -1)
(set-keyboard-coding-system 'euc-kr)
(set-terminal-coding-system 'euc-kr)
(define-key encoded-kbd-mode-map [27] nil))
(set-selection-coding-system 'ctext)
;; Hangul Mail setting
(setq-default sendmail-coding-system 'euc-kr)
;; turn off C-h during input
(eval-after-load "quail"
'(progn
(define-key quail-translation-keymap "\C-h" 'quail-delete-last-char)
(define-key quail-translation-keymap (kbd "C-SPC") 'set-mark-command)
(define-key quail-translation-keymap "\C-?" 'quail-translation-help)))
(define-key global-map (kbd "C-x RET s") 'decode-coding-region))
기타 도움이 될 만한 명령어 ¶
현재 파일의 인코딩 변경 : C-x C-m f 인코딩명
에디터의 기본 인코딩 변경 : C-h C 인코딩명
EOF 형식 변경 : 접미사 이용 (예 : utf-8-dos, utf-8-doc, utf-8-mac)
에디터의 기본 인코딩 변경 : C-h C 인코딩명
EOF 형식 변경 : 접미사 이용 (예 : utf-8-dos, utf-8-doc, utf-8-mac)