2013년 2월 27일 수요일

[Emacs] 버퍼의 내용을 실행시키기 위한 확장 quickrun.el

Emacs에서 코딩을 하다가 특정 루틴을 실행시켜 보고 싶을 때 라던가, 혹은 쉘 스크립트 결과물을 Emacs 안에서 바로 실행시켜서 버퍼에 적고 싶다던가 등등 현재 버퍼의 내용을 실행시켜보고 싶은 때가 있을 수도 있다(-_-). quickrun.el은 이렇게 버퍼의 내용을 실행시켜서 결과를 확인하거나 현재 버퍼에 넣고 싶을 때 활용 할 수 있는 Emacs용 확장이다.


설치는 마음에 드는 대로 해도 되지만 개인적으론 MELPA에서 설치하는 것을 추천한다. 필요한 설정은 따로 없으며 그저 require로 적당히 불러주기만 하면 된다.
(require 'quickrun)

quickrun.el은 Vim용으로 먼저 등장한 quickrun의 Emacs판이다. 누가 먼저인지 따지는건 중요한 것이 아니니 넘어가자.


이번에는 스크린샷 대신 간단한 동영상을 하나 찍어봤다. 이 영상은 quickrun.el의 가장 기본적인 기능 2가지만 사용해 보는 예일 뿐이다. 여기서 사용한 명령은 M-x quickrunM-x quickrun-replace-region 이다.

Python 스크립트를 로딩한 상태에서 quickrun을 호출하면 자동으로 해당 언어를 판단해서 실행시키고 그 결과를 프레임을 분할해서 표시해 준다. 잘 활용 한다면 스크립트 개발 시에 굉장히 유용하게 사용 할 수 있을 것이다.

quickrun-replace-region 은 이름 그대로 영역으로 지정한 부분을 실행시키고 그 결과를 해당 영역에 그대로 치환시킨다. 즉 결과물을 버퍼에 적기 편하다. 단지, 여기서는 실행시킬 타입을 물어오는데 쉘 명령이기 때문에 shellscript 를 입력했다. 이는 해당 코드가 무엇으로 실행시켜야 하는지 quickrun이 파악하지 못 하기 때문에 물어오는 것이다.

참고로 실행시킬 타입을 shellscript로 입력했을 때 오류가 발생할 수 있다. sh-shell 값이 지정되어 있지 않으면 지정해 줌으로써 해결이 가능하다. 개인적으론 bash를 이용하기 때문에 아래와 같은 식으로 설정했다.
(setq sh-shell "bash")

기능이 굉장히 많으므로 상세한 것은 위 공식사이트의 문서를 확인해 보는 것을 추천한다.

댓글 없음 :