이맥스

이맥스(Emacs) 사용법 1 - 설치와 간단한 사용법

uridongsu 2024. 12. 29. 14:34

Emacs 도 다른 편집기와 설치법이 다르지 않다. 다양한 형태로 패키징하여 배포하고 있다. 리눅스의 경우 패키지 매니저를 통해 설치할 수도 있고 윈도우즈의 경우 압축파일 형태로 또는 설치 파일 형태로 배포하고 있다. 또한 전문 사용자라면 소스 코드를 다운받아 컴파일하여 설치할 수도 있다.

Emacs 설치하기

https://www.gnu.org/software/emacs/

리눅스

패키지 매니저를 이용한다.

https://www.gnu.org/software/emacs/download.html#gnu-linux

리눅스는 패키지 매니저를 이용해 간단히 설치할 수 있다. 단 최신 버전을 사용하기 위해 소스 빌드 방식으로 설치할 수도 있다(근접 미러 서버에서 다운로드, http://ftpmirror.gnu.org/emacs/).

윈도우즈

https://www.gnu.org/software/emacs/download.html#nonfree

윈도우즈의 경우 installer 또는 zip 압축 파일 형태로 다운받을 수 있다.

근접 미러 사이트(kiast, https://ftp.kaist.ac.kr/gnu/emacs/windows/, 2024. 12. 28)

https://www.gnu.org/software/emacs/download.html#nonfree

brew 패키지 매니저를 이용하면 터미널용 emacs 를 설치할 수 있고 https://emacsformacosx.com/ 에서 dmg 설치 파일을 다운로드 받아 GUI 버전 emacs 를 설치할 수 있다.

Emacs 실행

설치가 완료되었다면 터미널에서 다음을 수행해 보자

 

$ emacs

 

윈도우즈에서는 bin 폴더 아래 실행파일이 존재한다.

예) C:\Program Files\Emacs\emacs-29.4\bin

 

runemacs.exe

 

※ 개인적으로 윈도우즈 터미널과 WSL 터미널 환경에서 emacs 사용은 비추한다(터미널 UI 엔진인 ncurse 가 잘 동작하지 않는 거 같다(개인적 느낌임)).

 

단축키 표기법

키 약어

  • C: control키
  • M: meta키(alt키, option키)
  • S: shift키
  • RET: enter키

예)

  • C-c: control키 + c키
  • M-x: meta키(alt키, option키) + x키
  • C-M-b: control키 + meta키 + b키
  • C-x C-c: control키 + x키 → control키 + c키

팁) control키를 중간에 뗄 필요 없이 누르고 있는 상태로 x키, c키를 누르면 된다(control키 누른 상태로 x키 → c키)

 

Emacs 화면 구성

GUI버전 emacs

 

맨 위 타이틀바 아래서 부터 메뉴, 툴바, 버퍼창, 미니버퍼 창(메시지 알림, 입력)으로 구분된다.

여타 프로그램들에서 볼 수 있는 File, Edit, Help 등 메뉴가 있고 단축키를 모를 때 메뉴를 이용할 수도 있다.

툴바는 GUI버전 emacs 에서만 볼 수 있고 주로 사용하는 메뉴가 툴바로 제공된다.

버퍼창 구성은 버퍼 영역(편집 영역)과 그 아래 상태바가 한 세트로 구성되어 있다.

  • 상태바에는 문자 인코딩, 버퍼 이름, 커서 위치, 모드 등 정보가 표시된다.

제일 아래 미니버퍼 창(메시지 또는 입력창) 이 있으며 알림을 표시하거나 명령을 입력하는 창이다.

 

Emacs 종료하기

Emacs 를 종료하기

 C-x C-c

 

또는

M-x save-buffers-kill-terminal RET

 

파일 탐색하기

C-x C-f <파일 경로> RET

파일 경로 입력 활성화 (기본은 현재 경로)

 

파일 또는 디렉터리를 열기 위해 C-x C-f 를 누른다.

그러면 파일 경로를 입력하는 프롬프트가 뜬다(기본은 현재 위치).

파일 또는 디렉터리 경로를 입력하고 엔터키를 누르면 해당 파일 또는 디렉터리가 열리게 된다.

  • 파일 경로를 입력하면 해당 파일 타입(확장자)에 따라 편집 모드가 자동으로 활성화 된다.
    • 만약 해당 파일 경로에 파일이 없으면 빈 버퍼가 열리고 저장하면 새로운 파일이 생성된다.
  • 디렉터리는 dired-mode 라는 emacs 내장 디렉터리 탐색 모드가 활성화 된다.

 

디렉터리 탐색(dired-mode)

https://www.gnu.org/software/emacs/manual/html_node/emacs/Dired.html

Emacs 내장 dired-mode 는 편리한 파일 탐색 및 파일조작 기능을 제공한다.

디렉터리 (dired-mode)

 

현재 위치, 파일 목록을 보여준다. 상위 폴더, 하위 폴더 이동, 파일 복사, 파일 이동, 이름 변경, 파일 삭제 등 기능을 제공한다.

 

커서 이동

  • n 다음 파일
  • p 이전 파일

하위 폴더 이동

  • 폴더에 커서를 이동하고 엔터키를 누르면 하위 폴더로 이동

상위 폴더 이동

  • ^

파일 관리

  • C(대문자 c) 커서가 위치한 파일을 복사한다
  • R(대문자 r) 커서가 위치한 파일을 이동한다(파일명 변경)
  • D(대문자 d) 커서가 위치한 파일을 삭제한다
  • M(대문자 m) 커서가 위치한 파일의 권한을 수정한다

여러 파일 관리 하기

파일 선택

  • m 선택
  • u 선택 해제
  • t 선택 반전

선택한 후 C, R, D 키로 일괄 조작할 수 있다

 

파일 편집해 보기(따라해 보기)

새로운 파일을 생성하고 저장해 보기

 C-x C-f hello RET

파일 경로 프롬프트

  • ~/hello 파일 생성

빈 버퍼가 생성되고 새로운 파일 알림이 표시됨

 

내용 입력해 보기

저장되지 않은 수정사항이 있을 때 표시

  • hello 입력 (VIM 처럼 편집모드가 따로 있지 않음)

파일 저장

C-x C-s

파일 저장 알림 + 저장되지 않은 수정사항이 없으므로 표시가 해제됨

  • 파일 수정 표시가 해제된다
  • 파일 저장 완료 알림이 표시된다

버퍼 닫기

현재 활성화 된 버퍼를 닫기

C-x k RET

 

C-x k 를 입력하면 닫고자 하는 버퍼 이름을 적을 수 있는 프롬프트가 활성화 된다(기본 활성화된 버퍼).

  • 기본으로 현재 활성화된 버퍼 이름이 선택되어 있기 때문에 현재 활성화된 버퍼를 닫으려면 엔터키를 바로 누르면 된다.
  • Emacs는 동시에 여러 버퍼를 열 수 있기 때문에 현재 활성화 된 버퍼 외에 다른 버퍼 이름을 적어서 닫을 수 있다
C-x k <버퍼 이름> RET

 

저장하지 않은 수정 사항이 있을 때 버퍼를 닫는다면?

저장하지 않은 수정 사항이 있는 경우 알림창에 알림이 출력되고 어떻게 처리할지 프롬프트가 표시된다.

수정 사항이 있는 상태로 버퍼를 닫을 때 프롬프트

  • yes 수정 사항을 무시하고 닫기(수정 사항 사라짐)
  • no 버퍼를 닫기 취소
  • save 버퍼를 저장하고 닫기

 

명령 중단

명령 수행 중 중단하고 싶을 때

C-g

 

※ 명령 입력 중, 아니다 싶으면 C-g, 명령 실행이 너무 오래 진행되고 있는거 같으면 C-g

  • C-g 는 반복적으로 입력해도 영향이 없기 때문에 뭔가 미심쩍을 때는 일단 C-g를 눌러보자

 

탭 자동 완성

M-x 명령 입력 중 명령이 너무 길다면 탭을 눌러보자. 명령을 자동 완성해 준다.

명령이 잘 기억나지 않는다면 탭을 두번 눌러보자. 입력된 내용이 포함된 모든 명령을 화면에 표시해 준다(한 페이지에 전부 표시를 못한다면 탭을 한번씩 눌러 다음 페이지을 탐색할 수 있다)

 

마무리

Emacs 를 설치하고 실행, 간단한 파일 관리를 알아 보았다. 다음에는 편집 기능을 더 자세히 설명하겠다.