답변:
Emacs FAQ, http://www.gnu.org/software/emacs/windows/ 에서 복사하여 붙여 넣었습니다 .
Windows 에서는 파일 이름이 점으로 시작할 수없는 DOS 및 FAT 파일 시스템과의 역 호환성을 위해 .emacs
파일을 호출 할 수 있습니다 _emacs
. 일부 사용자는 파일 시스템과 대부분의 다른 프로그램에서 처리 할 수 있지만 Windows 탐색기가 점으로 시작하는 이름으로 파일을 만들 수 없기 때문에 이러한 이름을 계속 사용하는 것을 선호합니다. Emacs 22 이상에서는 init 파일을 .emacs.d/init.el
. Lisp 패키지에 의해 생성 된 다른 많은 파일도 이제 .emacs.d
디렉토리에 저장 되므로 모든 Emacs 관련 파일을 한곳에 보관합니다.
위에서 언급 한 모든 파일은 홈 디렉토리에 있어야합니다. HOME 디렉토리는 다음 단계에 따라 결정됩니다.
C:\.emacs
존재하는 경우 C:/
. 이전 버전 C:/
은 HOME이 설정되지 않은 경우 기본값으로 설정되었으므로 이전 버전과의 호환성을위한 것 입니다.Emacs 내 ~
에서 파일 이름의 시작 부분은 HOME 디렉토리로 확장되므로 항상 .emacs 파일을 사용하여 .emacs 파일을 찾을 수 있습니다 C-x C-f ~/.emacs
.
MS-Windows의 HOME 및 Startup Directories에 자세한 정보가 있습니다 .
변수 user-init-file에 저장되어야합니다. C-H v user-init-file RET
확인하는 데 사용 합니다. 다음을 사용하여 직접 열 수도 있습니다.M-x eval-expression RET (find-file user-init-file) RET
trailing garbage following expression
?
내 Vista 상자에는 C:\Users\<USER>\AppData\Roaming\
Ctrl-x Ctrl-f ~/.emacs
파일을 입력 하고 생성하는 것만으로는 충분하지 않을 수 있습니다 .
Emacs 응용 프로그램이 init 파일을 저장하기 위해 다른 위치를 사용하는 것일 수 있으며, 그렇다면 ~ / .emacs 파일을 생성하면 Emacs 응용 프로그램이 무시 하는 쓸모없는 파일이 생성 됩니다.
또한 .emacs init 파일에 액세스 하는 것 이상을 원할 수 있지만 파일의 위치, 즉 경로 이름을 알고 싶을 수 있습니다.
이를 위해 두 가지 방법이 있습니다.
쉬운 방법 : 유형 Ctrl+ H V사용자 초기화 파일Return
약간 까다로운 방법 : 다음과 같이 시스템이 자체 .emacs 파일을 저장하는 위치를 찾을 수 있습니다.
c:/Users/user1/AppData/Roaming/.emacs.el
. 이 사이트 emacswiki.org/emacs/DotEmacsDotD~/.emacs.d/init.el
는 파일 시스템에있는 파일의 이름을 지정해야한다는 것을 깨달았습니다 c:\Users\user1\AppData\Roaming\.emacs.d\init.el
. 나는 HOME 환경 변수를 설정하고 %USERPROFILE%
Windows의 논리적 HOME 디렉토리 인 내 디렉토리에 파일을 배치하는 것을 선호합니다 (적어도 내가 생각하는 한).
emacs 초기화 파일을 만들어야합니다. 하나는 자동으로 생성되지 않습니다. 나는 비슷한 문제가 있었고이 대답은 내가 한 일을 추적합니다.
내 문제는 내 ~/.emacs.el
파일이로드되지 않는다는 것입니다. 이것이 항상 나를 위해 일했기 때문에 이상합니다.
이 질문 / 답변이 도움이되었지만 %USERPROFILE%\AppData\Roaming\.emacs.d\init.el
Windows의 기본 동작이기 때문에 init 파일을에 넣어야했습니다 .
이 문제를 해결하기 위해 emacs * scratch * 버퍼 에서 다음을 실행했습니다 .
user-emacs-directory
"~/.emacs.d/"
내가 톱이 때 user-emacs-directory
했다 ~/.emacs.d
, 난 그저 내 .emacs.el 파일을 이동 %USERPROFILE%\.emacs.d\init.el
. 그러나 이것은 여전히 작동하지 않았습니다. 나는 expand-file-name
아래와 같이 계속했다 .
(expand-file-name user-emacs-directory)
"c:/Users/pats/AppData/Roaming/.emacs.d/"
Windows 작동 방식이 마음에 듭니다. (아님) 그래서 내 emacs.el
파일을 로 옮겼고 %USERPROFILE%\AppData\Roaming\.emacs.d\init.el
이것이 작동했습니다. 이제 파일을 읽고있었습니다. 하지만 초기화 파일이 다른 (개인용 emacs) 파일 ( ~/myenv/emacs/*.el
.
Warning (initialization): An error occurred while loading ‘c:/Users/pats/AppData/Roaming/.emacs.d/init.el’:
흠 ... ~/myenv/emacs/*.el
이 작업을 수행하려면 내 모든 파일 을 이동해야하는 것 같지만 그렇게하고 싶지 않았습니다. 그런 다음 HOME 환경 변수가 설정되지 않았기 때문에 emacs가 기본 동작을 수행하고 있음을 깨달았습니다 .
해결책
Windows HOME
환경 변수를 설정 %USERPROFILE%
하면 지난 25 년 동안 모든 것이 작동하기 시작했습니다. :-)
HOME 환경 변수를 설정하기 위해 WindowsKey + "계정에 대한 환경 변수 편집"을 입력 하여 환경 변수 대화 상자 를 열고 HOME=%USERPROFILE%
.
이제 내 emacs 초기화 파일 .emacs.el이 올바른 위치로 돌아 왔습니다 $HOME/.emacs.el
.%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
공정하게 말하면, Windows에 사용자가 설치 한 패키지에 대한 파일을 저장할 수있는 위치가 한 곳뿐이라면 HOME =을 만드는 솔루션 %USERPROFILE\AppData\Roaming
이 허용 될 수 있지만 일부 응용 프로그램은을 사용 %USERPROFILE%
하고 일부는 사용 %USERPROFILE\AppData\Roaming
하고 다른 응용 프로그램은이를 사용하기 때문에 %USERPROFILE\AppData\Local
구성을 찾을 위치를 알기가 어렵습니다. 파일.
내 % USERPROFILE % 또는 $ HOME 디렉토리에있는 모든 것을 선호합니다.
또 다른 유사한 질문이 여기에 있습니다.
Emacs 23 및 Windows 7에서는 다음을 설정 한 경우에만 작동합니다.
HKCU\SOFTWARE\GNU\Emacs\HOME
Emacs 22가 가끔 내 XP 컴퓨터에서 "C : \ Documents and Settings \ username \ Application Data \ .emacs"또는 단지 "C : \ Documents and Settings \ username \ .emacs"를 여는 것을 발견했습니다. 가끔 마음이 바뀌는 이유에 대한 설명을 찾지 못했습니다.
~는 항상 emacs의 현재 인스턴스가 HOME이라고 생각하는 모든 것을 가리킬 것이지만, kanja의 팁 (Ch v user-init-file)은 항상 ~ / .emacs가 실제로 매핑하는 것을 알려줄 것입니다.
HOME
시작하는 방법에 따라 Windows가 환경 변수를 다르게 설정한다는 사실을 확인했습니다 runemacs.exe
. 탐색기 내에서 시작하면 HOME
이로 설정되어 C:\Documents and Settings\username
있지만 시작 메뉴에서 시작하면 HOME
은 C:\Documents and Settings\username\Application Data
입니다. 이상한.
Windows 버전 및 추가 정보를 기반으로 한 디렉토리 목록이 있습니다. http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html
Windows 8.1에서 Emacs가 Windows 탐색기 , 바로 가기 또는 cmd 콘솔 에서 시작되면 C : \ Users \ <USER> \ AppData \ Roaming.emacs init 파일을 사용합니다. PowerShell에서 Emacs를 시작하면 Emacs는 C : \ Users \ <USER> 폴더 에서 init 파일을 찾습니다 . 이 문제에 대한 해결책은 HOME 사용자 환경 변수 (제어판 \ 시스템 및 보안 \ 시스템-> 고급 시스템 설정-> 고급-> 환경 변수)를 C : \ Users \ <USER>로 설정하는 것 입니다. 이 변경 후 Emacs를 시작하는 방법에 관계없이 동일한 init 파일을 사용합니다 (이 질문에 대한 답변 참조 )