Windows에서 실행되는 Emacs 용 .emacs 파일은 어디에서 찾을 수 있습니까?


115

Emacs 용 Windows 설치용 .emacs 파일을 찾으려고했지만 찾을 수 없었습니다. Windows에서 Unix와 동일한 파일 이름을 가지고 있습니까?

직접 만들어야합니까? 그렇다면 어떤 특정 디렉토리로 이동합니까?

답변:


108

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 디렉토리는 다음 단계에 따라 결정됩니다.

  1. 환경 변수 HOME이 설정된 경우 표시되는 디렉토리를 사용하십시오.
  2. 레지스트리 항목 HKCU \ SOFTWARE \ GNU \ Emacs \ HOME이 설정되어 있으면 표시된 디렉터리를 사용합니다.
  3. 레지스트리 항목 HKLM \ SOFTWARE \ GNU \ Emacs \ HOME이 설정되어 있으면 표시된 디렉터리를 사용합니다. 사용자가 동일한 홈 디렉토리를 공유하게되므로 권장되지 않습니다.
  4. C:\.emacs존재하는 경우 C:/. 이전 버전 C:/은 HOME이 설정되지 않은 경우 기본값으로 설정되었으므로 이전 버전과의 호환성을위한 것 입니다.
  5. 사용자의 AppData 디렉터리 (일반적으로 사용자의 프로필 디렉터리 아래에있는 Application Data라는 디렉터리)를 사용합니다.이 디렉터리의 위치는 Windows 버전과 컴퓨터가 도메인의 일부인지 여부에 따라 다릅니다.

Emacs 내 ~에서 파일 이름의 시작 부분은 HOME 디렉토리로 확장되므로 항상 .emacs 파일을 사용하여 .emacs 파일을 찾을 수 있습니다 C-x C-f ~/.emacs.

MS-Windows의 HOME 및 Startup Directories에 자세한 정보가 있습니다 .


1
또는 Cx Cf ~ / _emacs (마침표 대신)로 찾아야 할 수도 있습니다. init에 밑줄을 사용하는 것은 Vim과 Emacs 모두에서 일반적이고 권장되는 방법입니다.
미로

Emacs는 "_emacs"가 더 이상 사용되지 않는다고 불평합니다. :(
Brian Z

감사. 이 설명은 실제로 clojure 튜토리얼을 따라 emacs를 올바르게 설정하는 데 도움이되었습니다. Windows에서 HOME 변수를 만들었고 이제 작동합니다.
Siniyas

위의 5 번 요점과 관련하여 emacs가 저를 찾는 디렉토리는 Windows 7에서 C : \ Users \ userid \ AppData \ Roaming이지만 물론 내 컴퓨터는 도메인에 있습니다.
user8128167

Windows 10에서는 AppData 접미사를 피하기 위해 변수 HOME을 % USERPROFILE %로 설정했습니다.
Bae

80

변수 user-init-file에 저장되어야합니다. C-H v user-init-file RET확인하는 데 사용 합니다. 다음을 사용하여 직접 열 수도 있습니다.M-x eval-expression RET (find-file user-init-file) RET


8
이것은 매우 도움이됩니다. init 파일의 매뉴얼 섹션에 언급되지 않은 것에 놀랐습니다.
Brian Z

내가 이것을 시도하면 왜 나는 궁금해 trailing garbage following expression?
Marko Grdinic 2016

괄호를 사용 했습니까?
Jose Romero

29

Windows 용 Emacs에서 다음과 같이 파일을 엽니 다.

C-x C-f ~/.emacs

Emacs Wiki의 추가 정보


11
그런 다음 파일> 파일 열기 ... 또는 다른 이름으로 저장 ...을 클릭하여 익숙한 Windows 열기 대화 상자에서 ~ /가 어디에 있는지 확인합니다.

21

내 Vista 상자에는 C:\Users\<USER>\AppData\Roaming\


1
예외를 제외하고 Windows 8.1 (Emacs 24)과 동일합니다. Windows 탐색기, 링크 또는 cmd 콘솔에서 Emacs를 열면 C : \ Users \ <USER> \ AppData \ Roaming \ .emacs 프로필 파일을 사용하지만 PowerShell 콘솔에서 Emacs를 열면 Emacs는 C에서 .emacs 파일을 찾습니다. : \ Users \ <USER> 폴더.
kri

이것은 나를 위해 일했습니다. AppData의 Roaming 디렉터리에 .emacs 파일을 만들었고 매력적으로 작동합니다! Windows 10.
Retro Gamer

Windows 10에서 근무
Alex Kaszynski 19-06-20

6

Ctrl-x Ctrl-f ~/.emacs파일을 입력 하고 생성하는 것만으로는 충분하지 않을 수 있습니다 .

Emacs 응용 프로그램이 init 파일을 저장하기 위해 다른 위치를 사용하는 것일 수 있으며, 그렇다면 ~ / .emacs 파일을 생성하면 Emacs 응용 프로그램이 무시 하는 쓸모없는 파일이 생성 됩니다.

또한 .emacs init 파일에 액세스 하는 것 이상을 원할 수 있지만 파일의 위치, 즉 경로 이름을 알고 싶을 수 있습니다.

이를 위해 두 가지 방법이 있습니다.

쉬운 방법 : 유형 Ctrl+ H V사용자 초기화 파일Return

약간 까다로운 방법 : 다음과 같이 시스템이 자체 .emacs 파일을 저장하는 위치를 찾을 수 있습니다.

  1. 옵션을 클릭하고 "기본 글꼴 설정 ..."까지 아래로 스크롤합니다.
  2. 글꼴 설정을 변경하고 확인을 클릭하십시오.
  3. 옵션 메뉴에서 "옵션 저장"으로 이동합니다.
  4. 옵션이 저장되면 시스템은 .emacs 파일을 저장하고 Emacs 화면 하단의 미니 버퍼에서 파일 경로읽을 수 있습니다.

답변 형식에 대한 문서를 참조하십시오. 그것은 아주 쉽고 당신에게 더 많은 명성을 얻을 것입니다.
Bhavik Shah 2013

~ / .emacs.el 파일을 저장하면 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 디렉토리 인 내 디렉토리에 파일을 배치하는 것을 선호합니다 (적어도 내가 생각하는 한).
PatS

4

Windows 7에서는 init.el파일을에 넣 습니다 C:\Users\user-name\AppData\Roaming\.emacs.d\. 여기서 user-name 은 사용자 / 로그인 폴더입니다.

당신 때문에주의 init.el파일 이름이되지 않습니다 init.el.txt. 메모장과 같은 편집기로 파일을 만들면 Windows가 수행하는 작업입니다.


4

Windows 22 이상의 Emacs 버전에서는 다음으로 이동 한 것 같습니다.

~/.emacs.d/init.el

, ~환경 변수 HOME의 값입니다 (제어판 → 시스템고급환경 변수 참조 ).

파일 자체가 존재하지 않을 수 있습니다. 이 경우 그냥 만드십시오.


3

emacs 초기화 파일을 만들어야합니다. 하나는 자동으로 생성되지 않습니다. 나는 비슷한 문제가 있었고이 대답은 내가 한 일을 추적합니다.

내 문제는 내 ~/.emacs.el파일이로드되지 않는다는 것입니다. 이것이 항상 나를 위해 일했기 때문에 이상합니다.

이 질문 / 답변이 도움이되었지만 %USERPROFILE%\AppData\Roaming\.emacs.d\init.elWindows의 기본 동작이기 때문에 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 디렉토리에있는 모든 것을 선호합니다.

또 다른 유사한 질문이 여기에 있습니다.


"Windows가 작동하는 방식이 마음에 들었습니다. (아님)"-이 문제는 Windows에서 Emacs를 실행하는 사람들에게 Emacs 개발자가 한 일 외에는 Windows와 관련이 없습니다.
Chris Charabaruk

2

간자가 대답했듯이이 파일의 경로는 user-init-file변수에 저장됩니다 (또는 초기화 파일이없는 경우 변수에는 파일을 만들 위치에 대한 기본값이 포함됩니다).

따라서 사용할 수있는 init 파일 이름과 파일이있는 디렉토리에 관계없이 다음을 사용하여 init 파일을 방문 할 수 있습니다.

M-: (find-file user-init-file) RET

또는 다음을 사용하여 에코 영역에 전체 경로를 표시합니다.

M-: (expand-file-name user-init-file) RET


2

Emacs 23 및 Windows 7에서는 다음을 설정 한 경우에만 작동합니다.

HKCU\SOFTWARE\GNU\Emacs\HOME

드디어 찾았어요! 감사!
Chris

드디어 찾았어요! 나도!
lowerkey

"설정"이란 콘텐츠없이 해당 키를 만드는 것을 의미합니까?
Peter Mortensen

1

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가 실제로 매핑하는 것을 알려줄 것입니다.


2
.NET을 HOME시작하는 방법에 따라 Windows가 환경 변수를 다르게 설정한다는 사실을 확인했습니다 runemacs.exe. 탐색기 내에서 시작하면 HOME이로 설정되어 C:\Documents and Settings\username있지만 시작 메뉴에서 시작하면 HOMEC:\Documents and Settings\username\Application Data입니다. 이상한.
remcycles 2010-12-07

1

Windows XP에서는 다음과 같습니다.

C:\Documents and Settings\yourusernamehere\Application Data\


0

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 파일을 사용합니다 (이 질문에 대한 답변 참조 )


0

WIndows7 및 Emacs26.3 :


HOME환경이 설정된 경우 .emacs파일은 해당 폴더에 있어야합니다.

그렇지 않으면 c:\.


두 경우 모두 .emacs존재하지 않는 경우 _emacs사용해야합니다.

이는 .emacsWindows 파일 명명 규칙에 따라 파일을 생성 할 수 없기 때문 입니다 (하지만 다른 곳에서 다운로드하거나 복사 할 수 있음).

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.