내 .emacs.d 디렉토리의 모든 것을 바이트 컴파일하려면 어떻게합니까?

StackOverflow https://stackoverflow.com/questions/1217180

문제

나는 EMACS를 확인하기로 결정했고, 그것을 매우 좋아했습니다. 이제 사용하고 있습니다 EMACS 스타터 키트, 이는 더 나은 기본값과 기본적으로 EMAC를 설치하기위한 멋진 사용자 정의를 제공합니다.

나는 그것을 조금 커스터마이징하고, 같은 것들을 추가했습니다. Yasnippet, 색상 테마, 매여 있지 않은, 그리고 다른 것들. 나는 a를 설정했다 Github 저장소 모든 사용자 정의를 유지하여 여러 곳에서 또는 무언가가 나빠지고 .emacs.d 디렉토리를 잃을 경우를 대비하여 사용자 정의를 유지할 수 있습니다.

이 모든 것이 매우 좋지만 문제가 있습니다. EMACS는로드하는 데 약 1-2 초가 걸립니다. afaik 나는 mx 바이트 컴파일 파일로 개별 .EL 파일을 .ELC로 컴파일 할 수 있습니다. 그러나 많은 .EL 파일이 있으며, EMAC의로드 속도를 높이기 위해 간단한 명령이나 무언가로 모두 컴파일하는 방법이 있는지 궁금합니다. 내 EMAC가 항상 열려있는 것은 아니며, 특히 자주 열고 닫습니다. 특히 총 사령관의 편집 명령의 기본 편집기로 설정 한 후 더 빨리 익숙해지기 위해 (예, Windows XP).

내 EMACS 버전은 22.3입니다. 그렇습니다. 사용자 정의없이 기본 EMACS 설치가 즉시 시작됩니다.

로드 할 때 어떤 버전이 선호되는지, .EL 또는 컴파일 된 .ELC OO로.

ELISP 명령 또는 EMACS 명령 줄 스위치가 EMACS 바이트 커뮤니케이션을 .emacs.d 디렉토리로 만들 수 있습니까?

도움이 되었습니까?

해결책

C-u 0 M-x byte-recompile-directory

디렉토리와 아래의 모든 하위 디렉토리에서 모든 .EL 파일을 컴파일합니다.

그만큼 C-u 0 부분은 .ELC 상대가없는 모든 .EL 파일에 대해 묻지 않도록하는 것입니다.

다른 팁

BYTE가 필요한 모든 것을 자동으로 컴파일하려면 BYTE 컴파일이 필요한 모든 것을 EMAC를 시작할 때마다 다음을 변경 한 후 다음을 입력합니다. load-path 내 꼭대기에 .emacs 파일:

(byte-recompile-directory (expand-file-name "~/.emacs.d") 0)

놀랍게도, 그것은 내 스타트 업 시간에 많은 것을 추가하지 않습니다 (무언가를 편집 할 필요가없는 한).

내 EMAC 속도를 높이기 위해 먼저 사용한 느린 부품을 식별했습니다. 프로파일 Dotemacs.el 그런 다음 그들을 교체했습니다 자동로드.

당신은 사용할 수 있습니다 --batch 명령 줄에서 다시 컴파일하는 플래그.

모든 것을 다시 컴파일하려면하십시오

emacs --batch --eval '(byte-recompile-directory "~/.emacs.d")'

또는 makefile에서 단일 파일을 다시 컴파일하려면

emacs --batch --eval '(byte-compile-file "your-elisp-file.el")'

이것은 질문에서 약간 흔들리고 있지만 천천히로드하는 문제를 해결하기 위해 EMACS 23에서 새로운 데몬 기능을 사용할 수 있습니다.

"지원 패키지가 많으면 EMACS 스타트 업이 약간 느릴 수 있습니다. 그러나 EMACS 23은 EMACS -DAEMON을 제공하여 백그라운드에서 EMAC를 시작할 수 있습니다 (예 : 로그인 할 때). 즉시 팝업 할 수 있습니다. EMACSClient가있는 새로운 EMACS Wind

에서 http://emacs-fu.blogspot.com/2009/07/emacs-23-is-very-near.html

Spacemacs를 사용하는 경우 명령은 다음과 같습니다 spacemacs/recompile-elpa. 명령 byte-recompile-directory 파일을 컴파일하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top