Jak mogę przeładować?emacs po zmianie?
Jak mogę zmusić Emacsa do przeładowania wszystkich definicji, które zaktualizowałem w .emacs
bez ponownego uruchamiania Emacsa?
18 answers
Możesz użyć polecenia load-file (M-x load-file
, następnie naciśnij dwukrotnie return, aby zaakceptować domyślną nazwę pliku, która jest aktualnie edytowanym plikiem).
Możesz również po prostu przesunąć punkt na koniec dowolnego sexp i nacisnąć C-xC-E aby wykonać tylko ten sexp. Zazwyczaj przeładowanie całego pliku nie jest konieczne, jeśli tylko zmieniasz linię lub dwie.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-10-08 02:14:59
Bardzo dziwne, że bardzo wygodne
M-x eval-buffer
Nie jest tutaj wymieniony.
Natychmiast ocenia cały kod w buforze, jest to najszybsza Metoda, Jeśli .emacs
jest idempotentna.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-18 16:53:21
Zazwyczaj można po prostu ponownie ocenić zmieniony region. Zaznacz region~/.emacs, który zmieniłeś, a następnie użyj M-x eval-region RET
. Jest to często bezpieczniejsze niż ponowna ocena całego pliku, ponieważ łatwo jest napisać .plik emacs, który nie działa od razu po dwukrotnym załadowaniu.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-05 19:53:24
Jeśli masz swoje .plik emacs otwiera się w aktualnie aktywnym buforze:
M-x eval-buffer
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-17 14:53:27
M-x load-file
~/.emacs
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-04-05 19:48:47
Następujące powinny to zrobić...
M-x load-file
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-17 14:52:58
Inni już odpowiedzieli na twoje pytanie, ale uważam, że zwykle chcę wykonać linie, które właśnie napisałem. w tym celu CtrlAltx w Lispie działa dobrze.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-05-13 07:07:28
Sugeruję, żebyś tego nie robił. Zamiast tego Rozpocznij nową sesję Emacsa i przetestuj wprowadzone zmiany, aby sprawdzić, czy działają poprawnie. Powodem, aby zrobić to w ten sposób, jest uniknięcie pozostawienia cię w stanie, w którym masz nieoperacyjny .plik emacs, który nie ładuje się lub nie ładuje się czysto. Jeśli wykonasz całą edycję w oryginalnej sesji, a wszystkie testy w nowej sesji, zawsze będziesz miał coś wiarygodnego, aby skomentować obrażający kod.
Kiedy jesteś w końcu jesteś zadowolony ze swoich zmian, a następnie użyj jednej z innych odpowiedzi,aby ponownie załadować. Moje osobiste preferencje to eval
tylko sekcja, którą dodałeś/zmieniłeś, i aby to zrobić, po prostu zaznacz region dodanego / zmienionego kodu i wywołaj M-x eval-region
. W ten sposób minimalizujemy kod, który jest oceniany, minimalizując wszelkie niezamierzone skutki uboczne, jak zauważa luapyad.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-06-06 17:33:49
Skrót klawiszowy:
(defun reload-init-file ()
(interactive)
(load-file user-init-file))
(global-set-key (kbd "C-c C-l") 'reload-init-file) ; Reload .emacs file
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-09-05 18:02:46
C-x C-e ;; current line
M-x eval-region ;; region
M-x eval-buffer ;; whole buffer
M-x load-file ~/.emacs.d/init.el
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-11 10:01:40
Jestem obecnie na Ubuntu 15.04; Lubię zdefiniować klucz do tego.
[M-insert] przekłada się na alt-insert na mojej klawiaturze.
Włóż to do swojego .plik emacs:
(global-set-key [M-insert] '(lambda() (interactive) (load-file "~/.emacs")))
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-03-29 01:45:52
Zdefiniuj go w pliku init i wywołaj przez m-x reload-user-INIT-file
(defun reload-user-init-file()
(interactive)
(load-file user-init-file))
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-26 12:44:25
Rozwiązanie
M -: (load user-INIT-file)
Uwagi
- wpisujesz go w
Eval:
prompt (wraz z nawiasami) -
user-init-file
jest zmienną zawierającą wartość~/.emacs
(wskazującą na ścieżkę pliku konfiguracyjnego) domyślnie -
(load)
jest krótszą, starszą i nieinteraktywną wersją(load-file)
; nie jest to polecenie emacs (do wpisania w M-x ), ale zwykła funkcja elisp
Podsumowanie
M-:
> M-x
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-10 07:43:45
Chociaż M-x eval-buffer
będzie działać, możesz napotkać problemy z przełącznikami i innymi podobnymi rzeczami. Lepszym podejściem może być "zaznaczenie" lub podkreślenie, Co nowego w Twoim .emacs (lub nawet scratch buffer, jeśli tylko się wygłupiasz), a następnie M-x eval-region
. Mam nadzieję, że to pomoże.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-02 17:44:58
Oto szybki i łatwy sposób na szybkie przetestowanie konfiguracji. Możesz również użyć C-x C-e
na końcu określonego Lispu, aby wykonać określoną funkcję indywidualnie.
C-x C-e uruchamia polecenie eval-last-sexp (Znalezione w global-map), które jest interaktywną, skompilowaną funkcją Lispu.
Jest związana z C-x C-e.
(eval-last-sexp EVAL-LAST-SEXP-ARG-INTERNAL)
Oceń sexp przed punktem; wyświetla wartość w obszarze ECHA. Interaktywnie, z argumentem przedrostka, wydrukuj wyjście do bieżącego bufora.
Normalnie funkcja ta obcina długie wyjście zgodnie z wartością zmiennych "EVAL-expression-print-length" oraz "EVAL-expression-print-level". Z argumentem przedrostka zera, nie ma jednak takiego okrojenia. Taki argument przedrostka również powoduje drukowanie liczb całkowitych w kilku dodatkowych formatach (ósemkowych, szesnastkowym i znakowym).
Jeśli 'EVAL-expression-debug-on-error' jest INNE niż nil, co jest domyślne, to polecenie porządkuje wszystkie błędy, aby wprowadzić debugger.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-04-08 08:44:26
Obok poleceń takich jak M-x EVAL-buffer lub m-x load-file możesz ponownie uruchomić nowy emacs z linii poleceń:
emacs -q --load "init.el"
Przykład użycia stackoverflow.com/questions/44959535/company-backends-in-gnu-emacs/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-11 12:45:06
Możesz ustawić Wiązanie kluczy dla Emacsa w następujący sposób
;; reload emacs configuration
(defun reload-init-file ()
(interactive)
(load-file "~/.emacs"))
(global-set-key (kbd "C-c r") 'reload-init-file)
Mam nadzieję, że to pomoże!Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-08 15:10:41
Jeśli przypadkiem masz otwartą powłokę wewnątrz Emacsa, możesz również zrobić:
. ~/.emacs
Może zapisać kilka kluczowych pociągnięć.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-06 16:21:36