컴돌이
이맥스(Emacs) 사용법 5 - eshell (emacs shell) 본문
Emacs 내장 shell: eshell
말 그대로 Emacs 내장 쉘이다.
- 여타 쉘(bash, zsh 등)과 같이 기본적인 명령 수행의 기능은 동일하지만 emacs 버퍼에서 수행, emacs lisp 수행 등 부가적인 장점이 있다.
- 기본적으로 Fundamental 모드 기능들이 작동한다.
주의할 점은 터미널 UI 기능을 사용하는 프로그램(VIM 등)은 제대로 동작하지 않음
eshell 열기
M-x eshell RET
하나더 열기
다시 M-x eshell RET 명령을 수행하면 새로운 eshell 을 생성하지 않고 이미 열려 있는 eshell 버퍼로 이동한다.
C-u M-x eshell RET
커서 이동
명령 수행한 결과(출력물)을 탐색하거나 복사하기 위해 커서를 이동할 수 있다.
커서가 명령 프롬프트가 아닌 위치에서 엔터키를 누르면 해당 위치의 줄이 명령 프롬프트에 입력된다
다시 프롬프트로 돌아오려면 커서를 프롬프트로 이동하면 된다
- 일반적으로 문서 끝으로 이동하면 되기 때문에 M->
프롬프트 시작 위치로 이동
C-a와 M-a 가 다르게 동작한다.
History 기능
M-p, M-n
특수키
인터럽트
C-c C-c (C-c 를 두번)
kill
C-c C-k
eof(입력 완료)
C-c C-d
Emacs lisp 실행
eshell 은 emacs lisp 코드를 수행할 수 있다.
팁
자동 alias 등록 기능
등록되지 않은 명령을 반복해서 입력하면 alias 로 등록하겠냐는 프롬프트가 뜬다.
실제 수행하고자 하는 명령을 입력하면 다음부터는 등록된 alias 를 수행한다.
alias 는 emacs 를 재시작해도 유지된다.