Używam komputera z systemem Windows 7 i nie mam dostępu administratora. Dlatego nie mogę umieścić pliku emacs kropki w katalogu głównym. Czy istnieje sposób, aby określić inną lokalizację pliku emacs?
init-file
microsoft-windows
Startec
źródło
źródło
site-start.el
ładowanie własnejinit.el
i nie potrzebujesz już.emacs
. W tym przykładzie nie musisz majstrować przy katalogu domowym (chyba że ktoś inny na komputerze umieści tam rzeczy, które wpłyną na to, co robisz). Innymi słowy, może być pusty i nigdy nie trzeba go dotykać.Odpowiedzi:
Emacs ma kilka miejsc, w których szuka plików inicjujących, jak udokumentowano w instrukcji . Jeśli chcesz dostosować Emacsa, musisz zacząć od jednego z tych plików.
Powszechnym podejściem jest użycie pliku
init.el
w swoimuser-emacs-directory
, zamiast posiadania go.emacs
w katalogu HOME.W
user-emacs-directory
domyślnie~/.emacs.d
, więc jest jeszcze w stosunku do swojego domu, ale zaletą tego podejścia jest to, można zachować wszystko, co związane z konfiguracją Emacs w jednym miejscu. Ten katalog może podlegać kontroli wersji, tworzeniu kopii zapasowych, współużytkowaniu na wielu komputerach itp. Możesz użyć dowiązania symbolicznego (mklink
w systemie Windows), aby zachować pliki w innej lokalizacji.Na przykład ludzie często utrzymują konfigurację Emacsa na Github. Można znaleźć wiele przykładów tego poprzez poszukiwanie GitHub dla Elisp projektów z plikami init.el .
źródło
user-emacs-directory
Przy każdej instalacji systemu Windows, w której używam Emacsa, mam następujący kod w
.emacs
pliku w wymienionej lokalizacji:W ten sposób mogę umieścić swoje
.emacs
i.emacs.d/
gdziekolwiek chcę.źródło
Twój plik .emacs trafia do twojego
HOME
katalogu. Z instrukcji Emacsa:źródło
HOME
katalog, na coś zupełnie innego. Dlatego nazywam tę zmianę hackem. Ustawienie odpowiedniej wartości jest oczywiście w porządku.Mówisz:
Twój plik init znajduje się w katalogu domowym, który możesz umieścić w dowolnym miejscu. Najwyraźniej chcesz mieć inny katalog dla rzeczy ładowanych przez Emacsa. To nie jest problem. Umieść swój plik inicjujący w katalogu domowym i pozwól temu plikowi dodać kolejny katalog do wartości zmiennej,
load-path
a następnie wymagać innych bibliotek Emacsa, których chcesz użyć. Umieść te biblioteki w innym katalogu.IOW, twój plik inicjujący nie musi zawierać niczego poza konfiguracją katalogu, w którym przechowujesz biblioteki Emacsa, które chcesz załadować.
źródło
Dla zachowania kompletności zamieszczam link do:
https://www.gnu.org/software/emacs/manual/html_node/efaq-w32/Location-of-init-file.html
Co oznacza, że możesz ustawić
HOME
wartość w ścieżce rejestru:HKCU\SOFTWARE\GNU\Emacs\HOME
Ale ta wartość jest zastępowana przez zmienną środowiskową
HOME
.źródło
Pomyśl, że możesz umieścić
(setq user-init-file "C:/path/to/.emacs")
i inne wiersze zaproponowane przez @ryan w site-start.elźródło