2018년 12월 10일 월요일

Input methods

https://www.gnu.org/software/emacs/manual/html_node/emacs/Input-Methods.html


한영 자판을 쓰는 경우 시스템 자판 설정을 사용할 수도 있지만 시스템과 별개로 emacs 내 입력 지원을 사용할 수 있고 어떤 경우 더 편리하다

예)
mac 을 사용하는 경우 시스템 전반에 입력 방식이 적용되어 한영 자판 변환이 자주 일어나는 경우 다른 윈도우로 변환시 헷갈리는 일도 잦고 입력하는 글이 한글과 영문이 많은 혼재 되어 있는 경우 번거롭지만 emacs 내 입력 방식 전환을 통해 시스템과 별개의 자판 환경을 갖게 되고 한영 변환도 빠르게 하고 지원하는 언어도 다양한 장점이 있다

단축키


C-\

기본 input method 변경


참고: https://emacs.stackexchange.com/a/419

아래와 같이 2가지 방법


.emacs 에 직접 추가


(setq default-input-method 'korean-hangul)


설정창


  1. M-x customize
  2. i18n 검색
  3. MULE -> Default input method 에서 Value Menu 를 string 으로 변환 후 korean-hangul 입력
  4. 저장 C-x C-s

주의) 설정창 이용하여 설정을 변경한 경우 .emacs 에 설정 코드가 들어가게 되어 직접 .emacs 에 추가한 코드가 무시될 수 도 있음

2018년 11월 24일 토요일

Package 설치

Emacs 24 버전 부터 emacs package 관리 기능 제공하여 손쉽게 package 를 설치하고 제거할 수 있음

Package 목록 보기


M-x package-list-packages

단축키 설명
  • i: 설치할 패키지 선택
  • d: 제거할 패키지 선택
  • u: 선택 해제
  • x: 선택한 명령 일괄 수행
  • U: 업그레이드 가능한 패키지 모두 선택

Package 제공 repository 추가


예) $HOME/.emacs 에 추가

(require 'package)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/") t)
(package-initialize)



기본 ELPA repository 보다 다양한 package 를 제공하는 melpa repository 추가

팁) emacs 구동시 주로 사용하는 패키지 자동으로 설치


예)

;; install packages automatically on startup
(require 'cl-lib)
(defvar my-packages
  '(yasnippet yasnippet-snippets auto-complete web-mode virtualenvwrapper))
 

(defun my-packages-installed-p ()
  (cl-loop for p in my-packages
           when (not (package-installed-p p)) do (cl-return nil)
           finally (cl-return t)))

(unless (my-packages-installed-p)
  (package-refresh-contents)
  (dolist (p my-packages)
    (when (not (package-installed-p p))
      (package-install p))))



설명:
  • my-packages 변수: 자동으로 설치할 package 이름들 기술
  • my-packages-installed-p 함수: my-packages 목록의 package 들이 설치되었는지 확인




Backup 기능

Backup 파일


참고: https://www.gnu.org/software/emacs/manual/html_node/emacs/Backup.html

원래 파일명 뒤에 ~ 를 붙임

예)
README 는 README~ 파일이 자동 생성

make-backup-files 변수를 t 또는 nil 로 설정하여 emacs 동작 설정


예) $HOME/.emacs 파일에 추가


(setq make-backup-files nil) ; backup 기능 중지