emacs server - 파일을 한 곳에서 열자

(require 'server)
(server-start)

init file에 추가한다. emacsclient[w]로 실행 중인 emacs에서 해당 파일을 열 수 있다.

emacs-server

emacs로 열 수 있는 건 다 연다. 익숙한 곳에서 편집하니 편하다. 하지만 열 때마다 emacs 프로세스를 생성하네. 정신 사납다. 난 지금 실행 중인 emacs에서 파일을 열고 싶다.

emacs sever가 그 기능이다.

windows - emacs 실행 파일들

- emacs
- emacsclient
- emacsclientw
- runemacs

runemacs는 콘솔 창을 감춘다. 콘솔에서 실행하는 게 아니면 emacs 대신 runemacs를 실행하자.

emacsclientw는 emacs server에 파일을 전달한다. 프로세스를 생성해 파일을 여는 게 아니다. 마찬가지로 emacsclient는 콘솔에서 실행하는 용도.

emacsclientw binobj.txt -na runemacs

emacsclient[w]는 emacs server가 필요하다. 없으면? 실행 실패. 이렇게 emacs server가 없을 때 실행할 프로그램을 인자로 지정할 수 있다.

windows explore

<windows explorer 컨텍스트 메뉴에 Open with Emacs 있다> 글을 참고해서 설치한다. 스크립트로 만들어놔서 간편하게 추가할 수 있다.

visual studio

Command: C:\emacs\bin\emacsclientw.exe
Arguments: +$(CurLine):$(CurCol) $(ItemPath) -na C:\emacs\bin\runemacs.exe
[v] Close on exit

Tools > External Tools 메뉴에 추가한다. action arguments로 라인과 컬럼 위치까지 넘겼다.

난 주로 magit-blame 함수를 사용할 때, vs로 보고 있는 파일을 emacs로 연다.

참고

Update <2017-10-21 Sat> explorer 컨텍스트 메뉴 추가하는 방법 링크로 대체 Update <2017-10-21 Sat> Chocolatey 이제 안 쓴다. 사용한 경로 변경.

C-x C-s C-x C-c

크리에이티브 커먼즈 라이선스

Published: February 08 2014


Feedback plz <3 @ohyecloudy, ohyecloudy@gmail.com