elisp

ielm

IELM(Interactive Emacs Lisp Mode)

M-x ielm RET

기타 유용한 함수

기능단축키함수
코드 평가M-:eval-expression
모드확인describe-mode
변수설명describe-variable
함수설명describe-function
.el 파일에서단축키함수
form 평가C-M-xeval-defun
괄호로 묶여 있는 모든 줄을 재정렬C-M-qindent-pp-sexp

컴파일

확장자설명
.el텍스트
.elc컴파일(바이트)
.eln컴파일(네이티브)

기타

;; association list
;; push를 사용하게 되면 같은 키가 여러개 생긴다.
(defvar x-alist '((a . 1)))       ; ((a . 1))
(push '(a . 1) x-alist)           ; ((a . 1) (a . 1))
;; add-to-list를 사용하면 같은 키가 여러개 생기지 않는다.
(defvar x-alist '((a . 1)))       ; ((a . 1))
(add-to-list 'x-alist '(a . 1))   ; ((a . 1))
(add-to-list 'x-alist '(a . 2))   ; ((a . 1) (a . 2)) ;; 의도하지 않은 결과가 나온다.
;; ref: https://stackoverflow.com/a/25100962

;; property list
(defvar x-plist '(:a 1 :b 2))     ; (:a 1 :b 2)
(plist-get x-plist :b)            ; 2


;; 사전
;; ref: https://www.gnu.org/software/emacs/manual/html_node/elisp/Dictionaries.html
;; memq
> (memq 9 '(1 2 3))
nil
> (memq 2 '(1 2 3))
(2 3)

eq eql equal

set setq

defvar defconst

memq meml member

참고