Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

컴돌이

이맥스(Emacs) 사용법 5 - eshell (emacs shell) 본문

이맥스

이맥스(Emacs) 사용법 5 - eshell (emacs shell)

uridongsu 2025. 1. 7. 21:24

Emacs 내장 shell: eshell

emacs shell

 

말 그대로 Emacs 내장 쉘이다.

  • 여타 쉘(bash, zsh 등)과 같이 기본적인 명령 수행의 기능은 동일하지만 emacs 버퍼에서 수행, emacs lisp 수행 등 부가적인 장점이 있다.
  • 기본적으로 Fundamental 모드 기능들이 작동한다.

주의할 점은 터미널 UI 기능을 사용하는 프로그램(VIM 등)은 제대로 동작하지 않음

 

eshell 열기

M-x eshell RET

eshell 열기

하나더 열기

다시 M-x eshell RET 명령을 수행하면 새로운 eshell 을 생성하지 않고 이미 열려 있는 eshell 버퍼로 이동한다.

 

C-u M-x eshell RET

추가 eshell 열기
새로운 eshell 은 <2> 와 같이 버퍼 이름 뒤에 숫자가 붙는다

커서 이동

명령 수행한 결과(출력물)을 탐색하거나 복사하기 위해 커서를 이동할 수 있다.

명령 프롬프트에 위치한 커서
커서를 위로 이동 (C-p, C-a)

커서가 명령 프롬프트가 아닌 위치에서 엔터키를 누르면 해당 위치의 줄이 명령 프롬프트에 입력된다

커서가 위치했던 줄(4번째 줄)이 명령으로 입력됨

다시 프롬프트로 돌아오려면 커서를 프롬프트로 이동하면 된다

  • 일반적으로 문서 끝으로 이동하면 되기 때문에 M->

 

프롬프트 시작 위치로 이동

C-a와 M-a 가 다르게 동작한다.

프롬프트 줄 끝
C-a, 프롬프트 처음 위치로 이동함
M-a, 문서상 0번째 위치로 이동함

History 기능

M-p, M-n

M-p, 128번째 history item
M-p 한번더, 127번째 history item

 

특수키

인터럽트

C-c C-c (C-c 를 두번)

 

kill

C-c C-k

 

eof(입력 완료)

C-c C-d

 

Emacs lisp 실행

eshell 은 emacs lisp 코드를 수행할 수 있다.

1 + 1 을 수행하는 lisp 코드


자동 alias 등록 기능

등록되지 않은 명령을 반복해서 입력하면 alias 로 등록하겠냐는 프롬프트가 뜬다.

alias 프롬프트

실제 수행하고자 하는 명령을 입력하면 다음부터는 등록된 alias 를 수행한다.

수행하고자 하는 명령(예: date)
alias 작동 (date가 실행됨)

alias 는 emacs 를 재시작해도 유지된다.