답변:
Emacs에는 매뉴얼에 설명 된대로 init 파일을 찾는 여러 곳 이 있습니다 . Emacs를 사용자 정의하려면 해당 파일 중 하나로 시작해야합니다.
일반적인 방법은 파일을 사용하는 것입니다 init.el
당신의 user-emacs-directory
대신을 필요없이 .emacs
홈 디렉토리.
user-emacs-directory
디폴트는 ~/.emacs.d
, 그래서 여전히 가정을 기준으로하지만,이 방법의 장점은 한 곳에서 이맥스 구성과 관련된 모든 것을 유지할 수있다. 해당 디렉토리는 버전 제어, 백업, 여러 머신간에 공유 될 수 있습니다 mklink
. Windows 에서 symlink를 사용 하여 파일을 다른 위치에 유지할 수 있습니다.
예를 들어, 사람들이 Github에서 Emacs 구성을 유지하는 것을 보는 것이 일반적입니다. init.el 파일이있는 elisp 프로젝트를 Github에서 검색 하면이 예제를 많이 찾을 수 있습니다 .
user-emacs-directory
Emacs를 사용하는 모든 Windows 설치에서 .emacs
나열된 위치 의 파일에 다음 코드가 있습니다.
;; Place this file in C:\Users\Username\AppData\Roaming and point to the appropriate files
(setq user-init-file "C:/path/to/.emacs")
(setq user-emacs-directory "C:/path/to/.emacs.d/")
(setq default-directory "C:/whatever/you/want/to/start/in")
(setenv "HOME" "D:/my/home/directory")
(load user-init-file)
이 방법 나는 나의 넣을 수 있습니다 .emacs
그리고 .emacs.d/
내가 원하는 어느 곳을.
.emacs 파일은 HOME
디렉토리에 들어갑니다 . 로부터 이맥스 설명서 :
HOME에 해당하는 Windows는 사용자 별 응용 프로그램 데이터 디렉토리입니다. 실제 위치는 Windows 버전에 따라 다릅니다.
시스템의 임의의 디렉토리를 가리 키도록 환경 변수 HOME을 명시 적으로 설정하여이 기본값 인 HOME을 대체 할 수 있습니다. HOME은 명령 셸 프롬프트 나 '내 컴퓨터'의 '속성'대화 상자에서 설정할 수 있습니다. HOME은 시스템 레지스트리에서도 설정할 수 있습니다 (MS-Windows 레지스트리 참조).
HOME
디렉토리를 심각 하게 다른 것으로 변경하는 것 입니다. 따라서 왜 그 변경을 핵이라고 부릅니다. 적절한 값으로 설정하는 것이 좋습니다.
당신은 말합니다 :
그러나 버전 제어를 위해 홈 디렉토리를 설정하는 방법을 알고 있는데 emacs가 다른 디렉토리에서 읽도록 설정할 수 있기를 원합니다 (따라서 emacs 고유의 디렉토리를 가질 수 있음) .
init 파일은 홈 디렉토리로 이동하여 어디든지 넣을 수 있습니다. 분명히 Emacs가로드하는 것들에 대해 다른 디렉토리를 원합니다. 그건 문제가되지 않습니다. init 파일을 홈 디렉토리에 넣고 해당 파일에 variable 값에 다른 디렉토리를 추가 load-path
한 다음 사용하려는 다른 Emacs 라이브러리가 필요합니다. 해당 라이브러리를 다른 디렉토리에 넣으십시오.
init 파일에는로드하려는 Emacs 라이브러리를 유지하는 디렉토리 설정 외에는 아무것도 포함 할 필요가 없습니다.
완벽을 기하기 위해 다음 링크를 제공합니다.
https://www.gnu.org/software/emacs/manual/html_node/efaq-w32/Location-of-init-file.html
HOME
레지스트리 경로에 값을 설정할 수 있다고 말합니다 .
HKCU\SOFTWARE\GNU\Emacs\HOME
그러나이 값은 환경 변수로 대체됩니다 HOME
.
(setq user-init-file "C:/path/to/.emacs")
@ryan이 제안한 다른 줄을 site-start.el에 넣을 수 있다고 생각하십시오.
사이트에 사이트 시작 파일이있을 수도 있습니다. 존재하는 경우 site-start.el로 이름이 지정됩니다. default.el과 마찬가지로 Emacs는 Lisp 라이브러리의 표준 검색 경로를 통해이 파일을 찾습니다. Emacs는 init 파일을로드하기 전에이 라이브러리를로드합니다.
site-start.el
사용자 자신의로드 와 같은 것을 사용하여 완전히 제어 할 수 있으며init.el
더 이상 필요하지 않습니다.emacs
. 이 예에서는 컴퓨터의 다른 사람이 사용자의 작업에 영향을 줄 수있는 물건을 넣지 않는 한 홈 디렉토리를 사용하지 않아도됩니다. 즉, 비워 둘 수 있으므로 만질 필요가 없습니다.