참고 글


 - [Emacs] Emacs에서 package-install 기능 사용하기


 - [Emacs] Emacs에서 테마 적용 방법




Sublime Text 테마 적용하기


1) MELPA 서버가 추가된 상태에서, M-x를 누른 후, package-install을 입력한다.


2) 패키지명으로 monokai를 입력하여 설치한다.


3) M-x를 누른 후, load-theme를 입력한다.


4) 테마명으로 monokai를 입력한다.


5) .emacs 파일에 아래와 같이 추가한다.


(load-theme 'monokai)





<테스트 환경>

OS : Windows 7

Emacs 버전 : Emacs 24.3 윈도우


,


package-install 기능은 Emacs 24 이상 버전에 기본 내장되어있는 패키지 관리 기능이다.




MELPA 서버 추가


package-install 기능은 기본적으로 ELPA 서버로 세팅되어있으나, MELPA 서버를 추가하면, 매일 업데이트되는 좀 더 다양한 패키지를 이용할 수 있다.


.emacs 파일에 다음 내용을 추가한다.


(when (>= emacs-major-version 24)
  (require 'package)
  (add-to-list
   'package-archives
   '("melpa" . "http://melpa.org/packages/")
   t)
  (package-initialize))


MELPA stable 저장소를 추가하려면, '("melpa" . "http://melpa.org/packages/") 대신에 아래 내용을 추가하면 된다.


'("melpa-stable" . "https://stable.melpa.org/packages/")




사용 방법


1. M-x를 누른 후, list-package를 입력하면, 패키지 리스트가 나타난다.


2. 여기서 사용 가능한 주요 키보드 명령은 다음과 같다. (모든 명령을 보려면 M-x를 누른 후, describe-mode를 입력한다)


Enter : 해당 패키지에 대한 설명 페이지를 불러온다.
i : 설치를 하기 위해 체크한다.
u : 체크를 해제한다.
d : 언인스톨을 위해 체크한다.
x : 체크한 내용을 실행한다.
r : 서버로부터 리스트를 갱신한다.



패키지 명을 직접 입력하여 설치를 할 수도 있다.

1. M-x를 누른 후, package-install을 입력한다.


2. 원하는 패키지 명을 입력하면 바로 설치된다. Tab키를 누르면 입력가능한 목록을 확인할 수 있다.




패키지 업그레이드


패키지 리스트에서 U(대문자 u) 키를 누르면 업그레이드된 패키지에 i 체크가 되고 이전 패키지에 d 체크가 되어 한꺼번에 업그레이드할 수 있는 기능이 지원이 되나, 안정적이지 않아 하나씩 삭제 후, 다시 설치하는 것이 권장된다.




저장소 서버들


 - http://elpa.gnu.org/ : Emacs와 함께 배포되는 기본 저장소. Free Software Foundation에 의해 서명된 비교적 적은 수의 패키지를 보유.


 - http://marmalade-repo.org/ : 좀 더 많은 패키지를 보유하고 있는 저장소.


 - http://melpa.org/ : 매일 업데이트되는 가장 많은 패키지를 보유하고 있는 저장소.



참고 사이트


 - http://ergoemacs.org/emacs/emacs_package_system.html




<테스트 환경>

OS : Windows 7

Emacs 버전 : Emacs 24.3 윈도우


,

테마 적용 방법


1) M-x를 누른 후, load-theme를 입력한다.


2) 원하는 테마명을 입력한다. (Tab키를 누르면 목록을 볼 수 있다)



설정 파일에 추가하기


.emacs 파일에 아래와 같이 추가한다.


(load-theme '테마이름)




<테스트 환경>

OS : Windows 7

Emacs 버전 : Emacs 24.3 윈도우


,

1. 매크로 기록 시작

C-x (


2. 매크로 기록 종료

C-x )


3. 매크로 실행

C-x e


4. 매크로 반복 실행

C-u 반복횟수 C-x e


C-u 반복횟수 + 명령 구문은 매크로 실행 명령이 아닌 다른 단일 명령(입력) 실행시에도 사용할 수 있다.



,

유용한 .emacs 설정

폰트 변경 방법

  1. M-x를 누른 후, set-default-font를 입력한다.
  2. tab을 두번 누르면, 폰트 리스트가 뜬다. (여기서 선택을 할 경우, 해당 폰트가 적용되면서 어떻게 표시되는지 확인할 수는 있지만 설정이 저장되지는 않는다)
  3. 원하는 폰트에 대한 스트링을 기억해둔다.
  4. .emacs 파일에 아래와 같은 형식으로 따옴표 안에 기억했던 폰트에 대한 스트링을 넣어 추가한다.
    (set-default-font
    "-outline-Ubuntu Mono-normal-normal-normal-mono-*-*-*-*-c-*-iso10646-1")
    

아스키 코드로 입력 방법 / 개행 문자 입력 방법

  1. 아스키 코드로 입력하기 : C-q <8진수 숫자>
  2. (검색 등에서) 개행 문자 입력하기 : C-j 혹은 C-q C-j
    • replace-string 명령 파라미터 입력시 C-j를 사용하면 바로 입력이 종료되기 때문에 중간에 개행문자가 끼어있는 파라미터 입력시는 C-q C-j를 사용해야 한다.
<테스트 환경>
- OS : Windows 7
- Emacs 버전 : Emacs 24.3 윈도우
,

1. UTF-8 한글 표시 설정


  1. .emacs 파일에 다음의 내용을 추가한다.
    (set-language-environment "Korean")
    (prefer-coding-system 'utf-8)
    
  1. 하지만 이렇게만 할 경우, 버퍼의 내용은 제대로 표시되지만, 한글로 된 파일명을 가진 파일을 읽을 때, 파일명이 같은 형식으로 표시되거나, 새로 한글로 된 파일명을 입력하여 저장할 때, 제대로 저장이 되지 않는 등의 문제가 있다. 파일명을 위한 인코딩 설정을 위해 .emacs 파일에 아래의 내용을 추가한다.
    (set-file-name-coding-system 'cp949-dos)
    


2. Shift-Space 키에 의한 한영 변환 기능을 제거


윈도우 환경 Emacs에서는 Shift-Space, 한영키 둘 다에 의해 한영 변환을 지원하지만, 가끔씩 상태가 꼬여서 불편한 사태가 발생하게 된다.


.emacs 파일에 다음 내용을 추가하면 Shift-Space 키에 의한 한영 변환 기능을 제거할 수 있다.


  • [추가] 하지만 이렇게 하더라도 C-s를 눌러서 들어가는 Search buffer로 들어가면 Shift-Space에 의한 변환이 동작한다. 그러므로 상태바에 한2 이런 표시가 보이면 Search buffer로 냉큼 들어가서 Shift-Space를 누르면 원래대로 돌아온다
(global-unset-key (kbd "S-SPC"))


혹은 Shift-Space 키를 다른 기능으로 설정할 수도 있다.

(global-set-key (kbd "S-SPC") 'other-window) ; 다른 창으로 이동 기능으로 설정


키에 설정된 기능을 확인하려면, M-x를 누르고 describe-key를 입력 후 해당 키를 누르거나, M-x를 누르고 describe-bindings를 눌러 전체 설정 내역을 확인할 수 있다.



참고 사이트

<테스트 환경>
- OS : Windows 10
- Emacs 버전 : Emacs 24.5.1 윈도우용
,

Emacs에서 Emacs Lisp가 아닌 Common Lisp 구현체 중 하나인 SBCL을 사용하기 위한 방법을 간단히 정리해보았습니다.


1. 다운로드 주소


SBCL : http://www.sbcl.org/

Slime : http://common-lisp.net/project/slime/


2. 설치 순서


1) SBCL을 설치한다. (스페이스가 포함되지 않은 경로에 설치한다)

2) Slime 압축을 푼 폴더를 <Emacs 설치 경로>/site-lisp 밑에 위치시킨다.

3) .emacs 파일에 다음과 같은 내용을 추가한다. (경로명을 적을 때 \가 아닌 /를 사용하는 것에 유의)


(setq inferior-lisp-program "C:/sbcl/sbcl.exe")
(add-to-list 'load-path "C:/emacs-24.3/site-lisp/slime-master/")
(require 'slime)
(slime-setup)



이제 M-x slime을 입력하면 slime buffer가 뜨면서 SBCL을 사용할 수 있습니다.






<테스트 환경>

OS : Windows 7 (32bit)

Emacs 버전 : Emacs 24.3 윈도우용

SBCL 버전 : 1.2.7

Slime 버전 : 2.21


,

윈도우에서 외부 에디터로 emacs를 등록하여 사용할 때, EmacsW32의 경우는 emacsclient를 곧바로 사용하면 되지만, 오리지널 emacs의 경우는 잘 되지않고 몇가지 추가 작업이 필요하다.


1. emacs를 실행한 후, C-x C-f를 누르고 ~/.emacs를 입력하여 설정 파일을 연 뒤, 다음 문장을 추가한다.


(server-start)



2. 외부 에디터로 등록할 때, 아래와 같이 입력한다.


<emacs 설치 경로>\bin\emacsclientw.exe -a <emacs 설치 경로>\bin\runemacs.exe



3. 필요에 따라 다음 옵션도 설정하도록 한다.


-> [Emacs] 사용 중, Buffer 'xxxx' still has client; kill it? 메세지 방지


Buffer 'xxxx' still has client; kill it? 메세지 방지 옵션까지 적용한 최종 실행 커맨드는 다음과 같다.


<emacs 설치 경로>\bin\emacsclientw.exe -n -a <emacs 설치 경로>\bin\runemacs.exe




또 다른 방법

-a 옵션을 사용하는 대신에, ALTERNATE_EDITOR 환경변수를 사용하여 설정하여도 된다.

-> 환경 변수 설정하는 방법




<테스트 환경>
OS : Windows 7 (32bit)
Emacs 버전 : Emacs 24.3 윈도우용


,