Skopiuj i wklej z FAQ Emacsa, http://www.gnu.org/software/emacs/windows/ :
W systemie Windows .emacs
plik może zostać wywołany w _emacs
celu zapewnienia zgodności wstecznej z systemami plików DOS i FAT, w których nazwy plików nie mogą zaczynać się od kropki. Niektórzy użytkownicy wolą nadal używać takiej nazwy, ponieważ Eksplorator Windows nie może utworzyć pliku o nazwie zaczynającej się od kropki, mimo że system plików i większość innych programów sobie z tym poradzi. W Emacsie 22 i nowszych plikach inicjalizacyjnych można również wywołać .emacs.d/init.el
. Wiele innych plików tworzonych przez pakiety Lisp jest teraz również przechowywanych w tym .emacs.d
katalogu, dzięki czemu wszystkie pliki związane z Emacsem są w jednym miejscu.
Wszystkie wymienione powyżej pliki powinny znaleźć się w Twoim katalogu HOME. Katalog HOME jest określany przez wykonanie poniższych kroków:
- Jeśli ustawiona jest zmienna środowiskowa HOME, użyj wskazanego przez nią katalogu.
- Jeśli wpis rejestru HKCU \ SOFTWARE \ GNU \ Emacs \ HOME jest ustawiony, użyj wskazanego katalogu.
- Jeśli wpis rejestru HKLM \ SOFTWARE \ GNU \ Emacs \ HOME jest ustawiony, użyj wskazanego katalogu. Niezalecane, ponieważ powoduje, że użytkownicy współużytkują ten sam katalog HOME.
- Jeśli
C:\.emacs
istnieje, użyj C:/
. Ma to na celu zapewnienie kompatybilności wstecznej, ponieważ poprzednie wersje były domyślnie C:/
ustawione, jeśli HOME nie zostało ustawione.
- Użyj katalogu AppData użytkownika, zwykle katalogu o nazwie Dane aplikacji w katalogu profilu użytkownika, którego lokalizacja różni się w zależności od wersji systemu Windows i tego, czy komputer jest częścią domeny.
W Emacsie ~
nazwa pliku jest rozwijana na początku do katalogu HOME, więc zawsze możesz znaleźć swój plik .emacs z rozszerzeniem C-x C-f ~/.emacs
.
Więcej informacji można znaleźć w katalogach HOME i Startup w systemie MS-Windows .
Powinien być przechowywany w zmiennej user-init-file. Użyj,
C-H v user-init-file RET
aby sprawdzić. Możesz również otworzyć go bezpośrednio za pomocąM-x eval-expression RET (find-file user-init-file) RET
źródło
trailing garbage following expression
?Otwórz plik w ten sposób w Emacs dla Windows:
Więcej informacji na Wiki Emacsa
źródło
Na moim pudełku z Vista jest w
C:\Users\<USER>\AppData\Roaming\
źródło
Zauważ, że samo wpisanie
Ctrl-x Ctrl-f ~/.emacs
i utworzenie pliku może NIE wystarczyć .Może się zdarzyć, że aplikacja Emacsa używa innego miejsca do przechowywania pliku init, a jeśli tak, to utworzenie pliku ~ / .emacs po prostu tworzy bezużyteczny plik, który aplikacja Emacsa ignoruje.
Możesz także chcieć zrobić coś więcej niż tylko uzyskać dostęp do pliku inicjalizacyjnego .emacs, ale możesz chcieć wiedzieć, gdzie on się znajduje, tj. Jego ścieżkę dostępu.
Aby to osiągnąć, istnieją dwie metody:
Prosty sposób: wpisz Ctrl+ H Vplik inicjujący użytkownikaReturn
Nieco trudniejszy sposób: Możesz dowiedzieć się, gdzie Twój system przechowuje własny plik .emacs, wykonując:
źródło
c:/Users/user1/AppData/Roaming/.emacs.el
. Ta strona emacswiki.org/emacs/DotEmacsDotD pomogła mi uświadomić sobie, że muszę nazwać plik,~/.emacs.d/init.el
co oznaczało, że plik w systemie plików był wc:\Users\user1\AppData\Roaming\.emacs.d\init.el
(zupełnie nie taki, jakiego się spodziewałem). Wolę ustawić zmienną środowiskową HOME i umieścić plik w moim%USERPROFILE%
katalogu, który jest logicznym katalogiem HOME w systemie Windows (przynajmniej jeśli o mnie chodzi).W systemie Windows 7 umieść
init.el
plik w miejscuC:\Users\user-name\AppData\Roaming\.emacs.d\
, gdzie nazwa użytkownika to folder użytkownika / logowania.Uważaj, aby Twój
init.el
plik nie został nazwanyinit.el.txt
. To jest coś, co robi Windows, jeśli utworzysz plik za pomocą jakiegoś edytora, takiego jak Notatnik.źródło
W wersjach Emacsa na Windows powyżej 22 wydaje się, że przeniósł się do
,
~
będąca wartością zmiennej środowiskowej HOME (zobacz Panel sterowania → System → Zaawansowane → Zmienne środowiskowe ).Sam plik może nie istnieć. W takim razie po prostu go utwórz.
źródło
Musisz utworzyć plik inicjalizacyjny emacsa. Jeden nie jest tworzony automatycznie. Miałem podobny problem i ta odpowiedź śledzi to, co zrobiłem.
Mój problem polegał na tym, że mój
~/.emacs.el
plik się nie ładował. Dziwne, ponieważ zawsze mi to działało.To pytanie / odpowiedź pomogło mi, ale musiałem umieścić mój plik init w pliku,
%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
ponieważ jest to najwyraźniej domyślne zachowanie w systemie Windows.Aby rozwiązać ten problem, uruchomiłem następujące polecenie w buforze emacs * scratch * .
Kiedy zobaczyłem
user-emacs-directory
było~/.emacs.d
, po prostu przeniósł się do mojego pliku .emacs.el%USERPROFILE%\.emacs.d\init.el
. Ale to nadal nie działało. Kontynuowałem,expand-file-name
jak pokazano poniżej:Pokochałem sposób działania systemu Windows. (nie) Więc przeniosłem mój
emacs.el
plik do%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
i to zadziałało. Plik był teraz odczytywany. Ale dostałem inne błędy, ponieważ mój plik inicjalizacyjny załadował inne (osobiste pliki emacsa) (w formacie~/myenv/emacs/*.el
.Hum ... Wygląda na to, że wszystkie moje pliki
~/myenv/emacs/*.el
musiałyby zostać przeniesione, aby to zadziałało, ale nie chciałem tego robić. Wtedy zdałem sobie sprawę, że ponieważ zmienna środowiskowa HOME nie została ustawiona, emacs zachowuje się domyślnie .ROZWIĄZANIE
Kiedy ustawiłem
HOME
zmienną środowiskową systemu Windows,%USERPROFILE%
wszystko zaczęło działać tak, jak przez ostatnie 25 lat. :-)Aby ustawić zmienną środowiskową HOME, wpisałem WindowsKey + "edytuj zmienne środowiskowe dla twojego konta", aby otworzyć okno dialogowe Zmienne środowiskowe i wprowadziłem
HOME=%USERPROFILE%
.Teraz mój plik inicjalizacyjny emacsa .emacs.el jest z powrotem na swoim właściwym miejscu
$HOME/.emacs.el
i nie jest w%USERPROFILE%\AppData\Roaming\.emacs.d\init.el
Aby być uczciwym, gdyby system Windows miał tylko jedno miejsce do umieszczania plików dla pakietów zainstalowanych przez użytkownika, rozwiązanie polegające na uczynieniu HOME =
%USERPROFILE\AppData\Roaming
może być akceptowalne, ale ponieważ niektóre aplikacje używają%USERPROFILE%
, niektóre używają,%USERPROFILE\AppData\Roaming
a inne używają%USERPROFILE\AppData\Local
go, po prostu utrudnia określenie, gdzie znaleźć konfigurację pliki.Wolę mieć wszystko w moim katalogu% USERPROFILE% lub $ HOME.
Kolejne podobne pytanie było tutaj:
źródło
Jak odpowiedziała kanja, ścieżka do tego pliku jest przechowywana w
user-init-file
zmiennej (lub jeśli nie istnieje plik init, zmienna zawiera domyślną wartość miejsca jej utworzenia).Więc niezależnie od tego, której z możliwych nazw plików init używasz i w którym katalogu się znajduje, powinieneś być w stanie odwiedzić swój plik init za pomocą:
M-:
(find-file user-init-file)
RETLub wyświetl pełną ścieżkę w obszarze echa za pomocą:
M-:
(expand-file-name user-init-file)
RETźródło
W Emacs 23 i Windows 7 działa tylko wtedy, gdy ustawisz:
źródło
Zauważyłem, że Emacs 22 od czasu do czasu otwiera „C: \ Documents and Settings \ nazwa użytkownika \ Dane aplikacji \ .emacs” lub po prostu „C: \ Documents and Settings \ nazwa użytkownika \ .emacs” na moim komputerze XP. Nie znalazłem wyjaśnienia, dlaczego czasami zmienia zdanie.
~ zawsze będzie wskazywał na to, co bieżąca instancja emacsa uważa za HOME, ale wskazówka kanji (Ch v user-init-file) zawsze powie ci, do czego właściwie odwzorowuje ~ / .emacs.
źródło
HOME
zmienną środowiskową inaczej, w zależności od tego, jak zacznęrunemacs.exe
. Jeśli uruchomię go z poziomu Eksploratora,HOME
jest ustawiony naC:\Documents and Settings\username
, ale jeśli uruchomię go z menu Start,HOME
jestC:\Documents and Settings\username\Application Data
. Dziwne.W systemie Windows XP jest to:
źródło
Istnieje lista katalogów oparta na wersji systemu Windows i dodatkowych informacji: http://www.gnu.org/software/emacs/manual/html_node/emacs/Windows-HOME.html
źródło
W systemie Windows 8.1, jeśli Emacs jest uruchamiany z Eksploratora Windows , skrótu lub konsoli cmd , używa pliku inicjującego C: \ Users \ <USER> \ AppData \ Roaming.emacs . Kiedy uruchamiam Emacsa z PowerShell, Emacs szuka swojego pliku init w folderze C: \ Users \ <USER> . Rozwiązaniem tego problemu było ustawienie zmiennej środowiskowej użytkownika HOME (Panel sterowania \ System i zabezpieczenia \ System-> Zaawansowane ustawienia systemu-> Zaawansowane-> Zmienne środowiskowe) na C: \ Users \ <USER> . Po tej zmianie bez względu na to, jak uruchomię Emacsa, używa tego samego pliku init (zobacz zaakceptowaną odpowiedź na to pytanie )
źródło
Dla Windows7 i Emacs26.3 .3
jeśli
HOME
ustawiono środowisko,.emacs
plik powinien znajdować się w tym folderze.w przeciwnym razie powinien znajdować się w
c:\
.W obu przypadkach, jeśli
.emacs
nie ma,_emacs
należy użyć.Dzieje się tak, ponieważ nie możemy utworzyć
.emacs
pliku zgodnie z regułami nazewnictwa plików systemu Windows (ale możemy go pobrać lub skopiować z innego miejsca).źródło