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?

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"

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.


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

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 ~).


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


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.

ََََََََ


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.


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ń.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.