0. An Introduction to Programming in Emacs Lisp
이것은 Emacs에도 내장되어 있습니다. (Help -> More Manuals -> Introduction to Emacs Lisp)
1. IELM: Inferior Emacs Lisp Mode
IELM은 Emacs Lisp REPL입니다.
emacs 실행 후,
M-x ielm RET
*** Welcome to IELM *** Type (describe-mode) for help.
ELISP> (+ 1 2)
3
ELISP> (setq a 3)
3
2. Emacs 시작시 바로 IELM을 띄우고 싶다
shell prompt에서:
emacs -f ielm
3. Emacs Lisp script를 shell에서 바로 실행하고 싶다
예제: Project Euler Problem 1
$ emacs --script euler1.el
233168
$ cat euler1.el
(setq sum 0
i 1)
(while (< i 1000)
(if (or (= 0 (% i 3)) (= 0 (% i 5))) (setq sum (+ sum i)))
(setq i (1+ i)))
(princ sum)
4. Emacs Buffer에서 일부분 evaluation
(꼭 *scratch* 버퍼가 아니어도 됩니다.)
(+ 1 2)_
_ 자리에 커서를 놓고 C-x C-e를 누르면 메시지창(화면 하단)에 결과값 3이 나온다.
_ 자리에 커서를 놓고 C-j를 누르면 바로 아랫줄에 결과값 3과 개행문자 2개가 삽입된다.
5. 간혹 에러가 뜨면 당황하지 말자
(+ 1 "a")
를 실행했더니,
Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p "a")
+(1 "a")
eval((+ 1 "a") nil)
eval-last-sexp-1(nil)
eval-last-sexp(nil)
call-interactively(eval-last-sexp nil nil)
이때는 침착하게 q를 한번 눌러주면 된다. (과거에 저는 Esc를 세번 눌렀습니다.)
이것은 Emacs에도 내장되어 있습니다. (Help -> More Manuals -> Introduction to Emacs Lisp)
1. IELM: Inferior Emacs Lisp Mode
IELM은 Emacs Lisp REPL입니다.
emacs 실행 후,
M-x ielm RET
*** Welcome to IELM *** Type (describe-mode) for help.
ELISP> (+ 1 2)
3
ELISP> (setq a 3)
3
2. Emacs 시작시 바로 IELM을 띄우고 싶다
shell prompt에서:
emacs -f ielm
3. Emacs Lisp script를 shell에서 바로 실행하고 싶다
예제: Project Euler Problem 1
$ emacs --script euler1.el
233168
$ cat euler1.el
(setq sum 0
i 1)
(while (< i 1000)
(if (or (= 0 (% i 3)) (= 0 (% i 5))) (setq sum (+ sum i)))
(setq i (1+ i)))
(princ sum)
4. Emacs Buffer에서 일부분 evaluation
(꼭 *scratch* 버퍼가 아니어도 됩니다.)
(+ 1 2)_
_ 자리에 커서를 놓고 C-x C-e를 누르면 메시지창(화면 하단)에 결과값 3이 나온다.
_ 자리에 커서를 놓고 C-j를 누르면 바로 아랫줄에 결과값 3과 개행문자 2개가 삽입된다.
5. 간혹 에러가 뜨면 당황하지 말자
(+ 1 "a")
를 실행했더니,
Debugger entered--Lisp error: (wrong-type-argument number-or-marker-p "a")
+(1 "a")
eval((+ 1 "a") nil)
eval-last-sexp-1(nil)
eval-last-sexp(nil)
call-interactively(eval-last-sexp nil nil)
이때는 침착하게 q를 한번 눌러주면 된다. (과거에 저는 Esc를 세번 눌렀습니다.)
'Programming' 카테고리의 다른 글
Three algorithms for converting color to grayscale (0) | 2013.12.02 |
---|---|
(Emacs Lisp) url-retrieve (0) | 2013.11.28 |
(C) fibonacci number (0) | 2013.11.24 |
BUFSIZ (0) | 2013.11.24 |
C: Linux Socket Programming, TCP, a simple HTTP client (0) | 2013.11.23 |