EmacsW32 - Windows에서 사용하기엔 이것이 가장 적절한 것 같다.
ntemacs - EmacsW32의 업데이트가 좀 뜸한 단점이 있는데, ntemacs는 그래도 좀 잦은 것 같다. 2007년 이후론 업데이트가 더 잘 안되고 있음. ㅡㅡ;
CVS 소스로부터 Windows 용 binary 직접 build 하기
참고 URL: http://derekslager.com/blog/posts/2007/01/emacs-hack-3-compile-emacs-from-cvs-on-windows.ashx
이 내용은 꽤 옛날에 작성된 것이라 지금 상황과는 맞지 않는 부분도 있지만, 사소한 몇 가지만 스스로 해결할 수 있다면 좋은 참고가 될 수 있음
CVS 대신 Bazaar-VCS를 사용하는 편이 나음
몇몇 종속 관계에 있는 외부 라이브러리들의 버전이 올라갔음(libpng, zlib 등)
EmacsWiki - EMACS에 대한 많은 노하우가 정리되어 있다.
A guided tour of Emacs (GNU Site) - 처음 EMACS를 사용해보기로 마음 먹었다면 꼭 한번 읽어볼 만 하다.
Effective Emacs - Emacs를 효과적으로 사용하는 방법에 대한 10 가지 내용이 잘 정리되어 있다.
Unicad - Universal Charset Auto Detector
Encoding 자동 판별 모듈 - Unicad - Kaisyu's Notes
twittering-mode - Twitter client mode
Emacs에서 Twitter 사용하기 - Kaisyu's Notes
yasnippet - yet another snippet extension for Emacs
다양한 언어의 코드 조각을 Tab 키 자동 완성 형태로 사용할 수 있게 해주는 매력적인 mode
홈페이지에서 직접 시연 동영상을 제공하는데, 따로 말이 필요 없다. 보면 알게 된다!!
Quack - Enhanced Emacs Support for Editing and Running Scheme Code
Ruby mode
<ruby_root_folder>/doc/ruby/ruby-x.x.x/misc 아래에 있는 mode를 사용하는 것이 좋지 않을까?
KLDP의 ruby-mode 설치법: http://wiki.kldp.org/wiki.php/EmacsRubyMode
psvn - Emacs Subversion mode
Linum - line number mode. 23.x 버전부터 기본으로 포함됨
Org-Mode - 간단 노트 정리와 프로젝트 플래닝을 위한 mode. 이것 역시 23.x 버전부터는 main 소스에 최신 버전이 포함되기 시작한 것 같다.
Org-Mode 튜토리얼 한글 번역 페이지 (Jmjeong 님)
AUCTeX - TeX 지원 mode
nXML mode - XML editor mode
ECB - Emacs Code Browser
bat-mode - Simple mode for Windows BAT files
Encoding 자동 판별 모듈 - Unicad - Kaisyu's Notes
Windows 환경의 EMACS에서 Gmail SMTP 사용하기
GNUS 관련 팁 페이지로 이동
유용한 ERC 설정 몇 가지 - Kaisyu's Notes
현재 버퍼를 다른 encoding으로 변환하여 저장하고자 할 때는 C-x C-m f 키(또는 M-x set-buffer-file-coding-system)를 누른 뒤 원하는 encoding(예, utf-8, cp949, euc-kr 등등)을 입력하고 엔터를 입력한다.
현재 버퍼의 encoding이 적절하지 않아서 특정 encoding으로 다시 읽어오고자 한다면 C-x C-m r 키를 누른 뒤 원하는 encoding(예, utf-8, cp949, euc-kr 등등)을 입력하고 엔터를 친다.
이제 EmEditor 없이도 그럭저럭 다국어 파일을 편집할 수 있지 않을까? ㅡㅡ^
백업 파일을 생성하지 않도록 하기 위해서는 .emacs 설정 파일 내에 다음을 추가한다.
(setq make-backup-files nil)
EMACS에서 VI 에디터와 동일한 키맵을 사용할 수 있게 해준다.
모든 기능을 전부 다 사용해본 것은 아니라 정확하진 않지만, 단순히 키맵만이 아니라 VI 에디터의 다른 기능들도 거의 대부분 다 지원이 되는 것 같다.
viper-mode 시작: M-x viper-mode
viper-mode 종료: M-x viper-go-away
viper-mode 간이 on/off: C-z
실수로 *scratch* buffer를 닫았을 경우 새로운 *scratch* buffer를 열고 싶을 수도 있다.
이럴 때는, C-x b *scratch* <enter>를 입력하면 된다.
그리고, M-x lisp-interaction-mode 라고 실행하여 Lisp Interaction Mode로 변경해준다.
아마 다른 특수 목적 버퍼들도 같은 방법으로 생성할 수 있지 않을까?
22.x를 포함한 그 이전 버전에서는 아래와 같이 지정해주면 된다. (KLDP에 정리되어 있던 내용을 발췌하여 정리한 것)
아래 예제에 사용된 Bitstream 폰트는 별도로 설치해야 한다.
;; for backup
;(set-face-font 'default "-*-돋움체-normal-r-*-*-12-*-*-*-c-*-ksc5601-*")
(create-fontset-from-fontset-spec "-*-Bitstream Vera Sans Mono-*-*-*-*-14-*-*-*-*-*-fontset-term14,
ascii:-*-Bitstream Vera Sans Mono-normal-r-normal-*-14-*-*-*-*-*-*-*,
korean-ksc5601:-*-굴림체-normal-r-normal-normal-14-*-96-96-c-*-ksc5601.1987-*")
(set-face-font 'default "fontset-term14")
23.x 이후 버전에서는 font 지정 방법이 더 간단하게 변경되었다.
아래 예제에서는 영문 폰트로 Liberation 폰트를 사용하고 있다. Bitstream 폰트의 경우 소문자 m의 간격이 잘못되어 있는 버그가 있고, DejaVu 폰트의 경우 emacs를 멈추게 만드는 위력을 가지고 있다. ㅡㅡ; 더 이상 아무 문제 없이 사용할 수 있다. (한글 글꼴은 맑은 고딕을 사용했음)
그리고, 한글 폰트 지정 시에 'hangul symbol을 사용하면 전각 특수 문자들이 제대로 표기되지 않는 문제가 있어 코드 영역을 직접 지정하는 방법을 사용했다. (코드 영역 직접 지정 방법은 Google 검색을 통해 찾은 이 페이지에서 참고 했음)
(when window-system
;(set-face-font 'default "-outline-Courier New-normal-normal-normal-mono-16-*-*-*-c-*-iso10646-1")
;(set-face-font 'default "-outline-Bitstream Vera Sans Mono-normal-normal-normal-mono-16-*-*-*-c-*-iso10646-1")
;(set-face-font 'default "-outline-DejaVu Sans Mono-normal-normal-normal-mono-16-*-*-*-c-*-iso10646-1")
(set-face-font 'default "-outline-Liberation Mono-normal-normal-normal-mono-16-*-*-*-c-*-iso10646-1")
;(set-fontset-font "fontset-default" 'hangul '("malgun gothic" . "unicode-bmp"))
(set-fontset-font "fontset-default" '(#x1100 . #xffdc) '("malgun gothic" . "unicode-bmp")) ;; 유니코드 한글영역
(set-fontset-font "fontset-default" 'kana '("ms mincho" . "unicode-bmp"))
(set-fontset-font "fontset-default" 'han '("ms mincho" . "unicode-bmp"))
;(set-fontset-font "fontset-default" 'cjk-misc '("ms mincho" . "unicode-bmp"))
(set-fontset-font "fontset-default" '(#xe0bc . #xf66e) '("new gulim" . "unicode-bmp")) ;; 유니코드 사용자 영역
)
Windows 환경에서 폭이 일정한 글꼴 설정하기 - Kaisyu's Notes
EMACS에서 다음 명령으로 server mode 구동이 가능하다.
(server-start)
.emacs 파일에 추가해서 자동으로 실행되도록 하는 것도 가능하다.
Server mode가 활성화 되면 emacsclient를 사용해서 새로운 파일을 열 수 있다. (다음 예제 참고)
C:\emacs\bin\emacsclientw.exe -n C:\Temp\test.el
하나의 .el 파일을 .elc 파일로 만드는 방법이다.
(byte-compile-file "파일 이름")
특정 폴더 내의 모든 .el 파일을 다시 compile하는 방법이다.
"사용자 확인 플래그"를 t로 지정하면 개별 파일에 대해 compile할 지 물어본다.
(byte-recompile-directory "폴더명" "사용자 확인 플래그")
마지막으로 .el 파일을 .elc 파일로 일괄 변환하는 방법이다. batch-byte-compile 명령을 사용한다.
c:\> emacs -batch -f batch-byte-compile *.el
22.x 이하 버전인 경우 세벌식 사랑 모임의 이 페이지에서 필요한 파일을 다운로드 하고 readme.txt 내용 대로 설치한다.
실행 중에 한글 자판 방식을 변경하고 싶다면 *scratch* 버퍼에서 다음과 같이 실행해주면 된다.
(setq default-input-method "korean-hangul3f")
23.x 버전에서는 똠, 햏 등의 글자도 제대로 입력되고 세벌식까지 지원하는 다른 입력기로 변경되었고, 기본으로 포함되었기 때문에 별도의 한글 입력기를 설치할 필요가 없다.
이 입력기는 블로그 http://sylphong.egloos.com/ 주인장께서 만들었다고 한다.
아무튼, 세벌식 최종을 사용하기 위해서는 .emacs 파일에 다음과 같이 추가하는 것으로 충분하다.
(setq default-input-method "korean-hangul3f")
(setq default-korean-keyboard "3f")
VisEmacs
Visual Studio에서 EMACS를 편집기로 사용할 수 있는 Add-in.
(그런데, 실제로 사용해보니 EMACS 22.1 이후의 버전에 대한 고려가 안되어 있는 것 같다. 소스 코드 일부 수정이 필요할 지도...)
M-x tabify ;; Indent에 tab 문자 사용
M-x untabify ;; Indent에 space 문자 사용, Vim에서는 :retab 과 :set expandtab
Emacs 나눔로또 API & Module - Kaisyu's Notes