Emacs를 쓰면서 상당히 많이 사용하게 되는 것 중에 하나가 eshell이다.
맥용이던 심지어 윈도우즈용이던 비슷한 쉘 환경을 만들어주기 때문에 한번 익숙해지기 윈도우즈에서도 항상 Emacs를 띄어놓게 된다.
Emacs Shell의 사용법에 대해 살펴보도록 하자.
Eshell 실행
M-x eshell로 실행한다. to the Emacs shell"이라는 메시지와 함께 리눅스와 비슷한 쉘 프롬프트를
리눅스에서 쉘 환경에 익숙한 사용자라면 쉽게 eshell에 될 것이다. cd, ls, cp, mv 등 리눅스 쉘 환경에서 많은 명령어를 지원한다.
강력한 History
무엇보다 eshell을 사용하게 되는 것중에 하나로 강력한 history 기능인데, 이전 명령은 M-p로 명령은 M-n을 사용한다(Up, Down 키로도 설정가능). 단어완성(Completion)을 지원하여 앞 글자 치고 이전 명령을 실행하면 그 글자로 시작하는 history를 보여준다. 예를 파일 복사를 위해 아래와 같은 명령을 사용했다면,
$ cp ~/doc/mydoc.txt
다음에 같은 명령을 사용해야 할 때, cp까지 입력후 M-p를 실행하면 명령을 보여준다. 간단한 기능같지만 상당히 편리하며 가장 많이 사용하게 되는
Emacs 스타일의 쉘 환경
또 하나 중요한 eshell의 특징은 쉘 환경에서 에디팅이 가능한 것이다. 동작은 쉘처럼 되지만 파일을 열어놓은 것처럼 이동하여 편집이 가능하다. 파일로 저장하는 것(C-x s)도 물론 가능하다. 명령의 결과같은 것을 저장하거나 부분 복사할 때 사용하면 유용하다.
Emacs 명령 실행
M-x 로 실행하는 명령 대부분이 eshell 동작한다. eshell에서 ediff <file1> <file2>를 실행하면 M-x ediff -> file1 file2를 실행한 것과 동일한 동작을 한다.
폴더 이동
eshell에서 폴더이동을 하면 Emacs에서 파일에 접근할 때 기준 폴더도 같이 eshell에서 cd 명령으로 ~/Sources/study/python 폴더로 이동한 후 C-x f로 파일을 열거나 d로 디렉토리를 열어보면 ~/Sources/study/python 아래에서 실행된다.
기타 명령
그외에 자주 사용하는 명령으로 grep, diff 많이 사용하는데, 이 명령들을 사용하면 또 하나의 윈도우가 생기면서 결과를
아직은 내공이 부족하여 항상 사용하는 기능만 사용하고 위에서 열거한 기능 말고도 더 많은 것을 eshell 안에서 할 있으리라 짐작한다.
리눅스나 맥의 쉘 환경에 익숙한 사용자라면 좀 더 나은 쉘 환경을 만들 수 있을 것이다.
맥용이던 심지어 윈도우즈용이던 비슷한 쉘 환경을 만들어주기 때문에 한번 익숙해지기 윈도우즈에서도 항상 Emacs를 띄어놓게 된다.
Emacs Shell의 사용법에 대해 살펴보도록 하자.
Eshell 실행
M-x eshell로 실행한다. to the Emacs shell"이라는 메시지와 함께 리눅스와 비슷한 쉘 프롬프트를
리눅스에서 쉘 환경에 익숙한 사용자라면 쉽게 eshell에 될 것이다. cd, ls, cp, mv 등 리눅스 쉘 환경에서 많은 명령어를 지원한다.
강력한 History
무엇보다 eshell을 사용하게 되는 것중에 하나로 강력한 history 기능인데, 이전 명령은 M-p로 명령은 M-n을 사용한다(Up, Down 키로도 설정가능). 단어완성(Completion)을 지원하여 앞 글자 치고 이전 명령을 실행하면 그 글자로 시작하는 history를 보여준다. 예를 파일 복사를 위해 아래와 같은 명령을 사용했다면,
$ cp ~/doc/mydoc.txt
다음에 같은 명령을 사용해야 할 때, cp까지 입력후 M-p를 실행하면 명령을 보여준다. 간단한 기능같지만 상당히 편리하며 가장 많이 사용하게 되는
Emacs 스타일의 쉘 환경
또 하나 중요한 eshell의 특징은 쉘 환경에서 에디팅이 가능한 것이다. 동작은 쉘처럼 되지만 파일을 열어놓은 것처럼 이동하여 편집이 가능하다. 파일로 저장하는 것(C-x s)도 물론 가능하다. 명령의 결과같은 것을 저장하거나 부분 복사할 때 사용하면 유용하다.
Emacs 명령 실행
M-x 로 실행하는 명령 대부분이 eshell 동작한다. eshell에서 ediff <file1> <file2>를 실행하면 M-x ediff -> file1 file2를 실행한 것과 동일한 동작을 한다.
폴더 이동
eshell에서 폴더이동을 하면 Emacs에서 파일에 접근할 때 기준 폴더도 같이 eshell에서 cd 명령으로 ~/Sources/study/python 폴더로 이동한 후 C-x f로 파일을 열거나 d로 디렉토리를 열어보면 ~/Sources/study/python 아래에서 실행된다.
기타 명령
그외에 자주 사용하는 명령으로 grep, diff 많이 사용하는데, 이 명령들을 사용하면 또 하나의 윈도우가 생기면서 결과를
아직은 내공이 부족하여 항상 사용하는 기능만 사용하고 위에서 열거한 기능 말고도 더 많은 것을 eshell 안에서 할 있으리라 짐작한다.
리눅스나 맥의 쉘 환경에 익숙한 사용자라면 좀 더 나은 쉘 환경을 만들 수 있을 것이다.