W jaki sposób można zaimportować nowy fragment code (biblioteka sepii Emacs) do pliku .emacs
?Nie można zaimportować pliku do pliku .emacs
Nie chcę umieszczać wszystkiego w jednym ogromnym pliku .emacs
.
W jaki sposób można zaimportować nowy fragment code (biblioteka sepii Emacs) do pliku .emacs
?Nie można zaimportować pliku do pliku .emacs
Nie chcę umieszczać wszystkiego w jednym ogromnym pliku .emacs
.
Umieść plik google.el
w katalogu, powiedzmy ~/lisp
, a następnie w .emacs:
(add-to-list 'load-path "~/lisp")
(require 'google)
Jeśli chcesz dodać do katalogu i jego podkatalogów, można zapoznać się z answers in this SO question.
I, gdy dodajesz coraz więcej linii 'require
, zauważysz, że przy uruchamianiu rzeczy zwalniają. W tym momencie będziesz chciał dowiedzieć się jak make Emacs start up faster I oczywiście najlepiej jak my answer.
elisp-load-dir może pomóc, jeśli potrzebujesz załadować wiele plików naraz. go używać do ładowania plików na-temat konfiguracji, co z kolei tylko autoload ciężkie rzeczy kiedy rzeczywiście potrzebne:
.emacs
.emacs.d/
lisp/
elisp-load-dir.el
... other .el files that provide a feature
rc/
... many small .el file that set variables, defaults, etc for me
Więc moi .emacs jest naprawdę minimalne, to tylko dodaje ~/.emacs.d/lisp
do ścieżki obciążenia, tak że Mogę zainstalować tam rozszerzenia innych firm. Wtedy wymaga elisp-load-dir
i używa go, aby załadować cokolwiek pliki config mam w ~/.emacs.d/rc
:
(add-to-list 'load-path "~/.emacs.d/lisp")
(require 'elisp-load-dir)
(elisp-load-dir "~/.emacs.d/rc")
;; then comes all the custom-set-faces stuff that emacs puts there
W rc/*.el
pliki są w zasadzie to, co można umieścić w swoim .emacs
, z wyjątkiem to postać modułów. Na przykład, mam jedną dla każdego trybu ja regularnie używać, po jednym dla uruchamiania, wyłączania ekran powitalny, pasek narzędzi, itp ...
Czy możesz podać przykład użycia kodu? Na przykład przy przechodzeniu z ustawień pracy do ustawień freeTimeSettings. Jestem nowy w Lisp. –
Dodałem szczegóły. Nie sądzę, że to odpowiada na twoje pytanie dotyczące pracy/czasu wolnego, ale nie jestem pewien, czy rozumiem, co masz na myśli. To może być pytanie samo w sobie. –
Można także dodać proste stwierdzenie obciążenia w pliku .emacs:
(load "/path/to/library.el")
Szczerze mówiąc, podoba mi się rozwiązanie Treya: zachowuje wszystkie pliki .el w jednym miejscu.
Edytuj: usunięto polecenie "wymagaj", zgodnie z oświadczeniem Treya.
Co oznacza oświadczenie wymagające? Otrzymuję następujący błąd w Emacs http://dpaste.com/38167/ –
"Wymaganie w twoim rozwiązaniu jest niepotrzebne, ponieważ" wymaganie spowodowałoby wezwanie do "załadowania mimo to. –
@Trey: Jak możesz sprawdzić, czy pliki Lisp są zawarte w Emacs? –
Czy to działa dla plików .el zagnieżdżonych w podkatalogach pod ścieżką load? Musiałem ręcznie dołączyć kilka plików .el, które znajdowały się niżej niż katalog ~/.emacs.d (gdzie przechowuję moje pliki .el), chociaż być może zrobiłem coś nie tak. – bedwyr
Nie, nie działa dla zagnieżdżonych katalogów. Ale dodałem link do tego, jak to zrobić. –