Gdzie jest plik .emacs?

26

Pobrałem Emacsa 23.1 ze strony FTP GNU. Rozpakowałem go i zbudowałem po skonfigurowaniu.

Nie mogę znaleźć pliku .emacs w moim katalogu domowym ani nigdzie w moim systemie! Czy coś brakuje?

Peter Mortensen
źródło

Odpowiedzi:

22

Lub, jako o wiele prostszy sposób (jak wskazano w komentarzu), Ctrl+ H, v(opisz-zmienną) wyświetli ładne wyjście opisujące zmienną i jej wartość, tak jak:

    user-init-file is a variable defined in ‘C source code’.
    Its value is
    "/home/.emacs"

Dokumentacja:
nazwa pliku, w tym katalog, pliku inicjującego użytkownika. Jeśli załadowany plik miał rozszerzenie „.elc”, a odpowiedni plik źródłowy istnieje, ta zmienna zawiera nazwę pliku źródłowego, odpowiedniego do użycia przez funkcje takie jak „custom-save-all”, które edytują plik init. Podczas gdy Emacs ładuje i ocenia plik inicjujący, wartością jest prawdziwa nazwa pliku, niezależnie od tego, czy ma rozszerzenie & lsquo'.elc.

Ten sposób jest dość gadatliwy. Bardziej zwięzłą odpowiedzią jest uruchomienie emacsa i, w buforze oceny Lisp, wpisz user-init-filei naciśnij Ctrl+, Jaby ocenić. Spowoduje to wydrukowanie, gdzie znajduje się Twój plik init, na przykład:

user-init-file
"/home/.emacs"
Jeff Foster
źródło
5
Ctrl-H v (opisz zmienną), aby spojrzeć na zmienną.
starblue
Jak wywoływany jest bufor oceny Lisp?
Peter Mortensen
12

Musisz utworzyć plik, jeśli chcesz skonfigurować Emacsa. Możesz go po prostu utworzyć i ręcznie zhakować plik lub użyć M-x customizei zapisać dostosowanie.

kjfletch
źródło
4

Zobacz InitFile rozdział w EmacsWiki.

Twój plik init zawiera osobisty kod EmacsLisp, który chcesz wykonać podczas uruchamiania Emacsa.

  • W przypadku GnuEmacs jest to ~/.emacslub _emacslub ~/.emacs.d/init.el.
  • W przypadku XEmacs jest to ~/.xemacslub ~/.xemacs/init.el.
  • W przypadku AquamacsEmacs jest to ~/.emacslub~/Library/Preferences/Aquamacs Emacs/Preferences.el
Török Gábor
źródło
1
Gabor, jaka jest tutaj różnica między typami plików? Mam .emacs.d/. Czy powinienem utworzyć init.eltutaj plik w tym katalogu? Czy katalog ma znaczenie jako miejsce docelowe?
Vass
1

Czy sprawdziłeś, że ani .emacsnie .emacs.d/init.elistnieje? Ponieważ ten drugi wydaje się coraz bardziej standardowy (jeden plik mniej w ~).

quazgar
źródło
1
Co się stanie, jeśli umieścisz go w niewłaściwym miejscu? czy katalog jest dowolny?
Vass
1

W systemie Windows plik .emacs można nazwać _emacs w celu zapewnienia kompatybilności wstecznej z systemami plików DOS i FAT, w których nazwy plików nie mogły zaczynać się od kropki. Niektórzy użytkownicy wolą nadal używać takiej nazwy, ponieważ Explorer nie może utworzyć pliku o nazwie zaczynającej się od kropki, mimo że system plików i większość innych programów może to obsłużyć. W Emacs 22 i później, plik startowych mogą być również nazywane .emacs.d / init.el . Wiele innych plików tworzonych przez pakiety lisp jest teraz przechowywanych również w katalogu .emacs.d, dzięki czemu wszystkie pliki związane z Emacsem są przechowywane w jednym miejscu.

źródło: http://www.gnu.org/software/emacs/manual/html_mono/efaq-w32.html#Init-file

sivi
źródło
więc katalog initpliku to tylko konwencja? Po prostu standard, który emacs automatycznie wyszukuje i umieszczasz swoje osobiste wybory w pliku poleceń lisp, aby dostosować emacsa ?
Vass
W systemie Windows 10 znalazłem go w dwóch różnych katalogach na dwóch różnych komputerach: „C: \ Users \ nazwa użytkownika \” na jednym, a na „C: \ Users \ nazwa użytkownika \ AppData \ Roaming \” na drugim.
Kirill Yunussov
0

Powinieneś spróbować ls -a.

ََََََََ

Remo.D
źródło
1
Ponadto: Czy próbowałeś kiedyś uruchomić Emacsa, zanim spodziewałeś się pliku konfiguracyjnego w domu?
Joey,
W jakim kontekście? W wierszu poleceń (który katalog roboczy)? Z poziomu Emacsa?
Peter Mortensen
0

Prosta odpowiedź. Musisz zacząć pisać kod w Emacsie, zanim plik .emacs pojawi się w twoim katalogu domowym. Napisz szybkie Hello, World! I prosty kod matematyczny, skompiluj i uruchom.

Następnie spójrz ponownie w domu i wpisz, ls -aa zobaczysz to. Następnie, aby go edytować i wpisać gedit .emacs. Używam gedit, ponieważ czuję się dziwnie edytując Emacsa z Emacsem.

brzytwa
źródło
Dlaczego miałbyś używać czegoś innego niż Emacs do edycji pliku kodu elisp? Zawsze możesz rozpocząć nową instancję ( emacs -qjeśli plik init jest uszkodzony i musisz go ominąć). Ponadto Emacs nie musi generować pliku inicjującego za ciebie. Możesz iść dalej i stworzyć go ręcznie; Emacs nadal będzie go używał.
phils
0

Podobnie jak inne programy, możesz skopiować /etc/[what file do you want]do katalogu domowego, którego system używa do ustawień.

GmArian
źródło