MIT-Scheme Edwin 설정

2014. 1. 5. 02:54

Edwin은 윈도우 환경변수의 영향을 받는다

환경변수 / 예시
MITSCHEME_FONT / Bitstream Vera Sans Mono 11 regular
MITSCHEME_GEOMETRY / -1, -1, 640, 900
MITSCHEME_FOREGROUND / 0xdcdccc
MITSCHEME_BACKGROUND / 0x3f3f3f
USERNAME / Administrator

Common Lisp해볼꺼랍시고 Emacs및 slime에 paredit까지 깔아본적 있는 나로서는 엔터치고 탭누르는것도 꽤나 귀찮은 일이었는데 릴리즈노트에서 paredit-mode 라는 문구를 발견하고야 말았다. X-x paredit-mode로 실행할수있지만 매번실행하는 것도 귀찮다. 분명 emacs에서처럼 edwin.ini파일을 이용하는 길이 있을 것이다. 구글이 찾아주었다. 실행에서 %homepath%를 쳐서 폴더를 연뒤 그 자리에 edwin.ini파일을 만들고 파일 내용에 아래의 코드를 삽입한다.

(add-event-receiver! (ref-variable scheme-mode-hook)
  (lambda (buffer)
    (enable-buffer-minor-mode! buffer (ref-mode-object paredit))))

paredit모드를 사용하면 괄호를 열때 자동으로 커서뒤에 닫힌괄호도 생성한다. 그런데 procedure의 인자를 전부 다음행에 배치하려한다. 즉 괄호를 닫으면 자동으로 엔터를 친다.

그럴 때는 스킴설치폴더/lib/edwin에 paredit.com을 지우고 paredit.scm에서 )키를 수정해준다.


paredit.scm


이맥스위키를 뒤져보는게 상당히 도움이 될듯

http://www.emacswiki.org/emacs


아래는 더불어 검색된 edwin.ini파일들 예시로 기록해두면 쓸 데가 있을 것이다.

1. http://courses.csail.mit.edu/6.844/spring05-6844/handouts/edwin.ini

2. http://www.cs.olemiss.edu/~sbs/download/cs450_ProgLang/scheme/EDWIN.INI

3. http://mumble.net/~campbell/scheme/edwin-init.scm


p.s. 2는 키바인딩 리맵하는건데 안된다. -_-;

Programming/SICP