Pytania otagowane jako elisp

na pytania dotyczące Emacsa Lispa jako języka w porównaniu do innych języków, w szczególności w porównaniu do innych dialektów Lisp. To jest, jeśli chodzi o pytania * dotyczące samego języka *. * NIE UŻYWAJ * w przypadku pytań dotyczących * używania * Emacs Lisp. Emacs Lisp jest językiem skryptowym i programistycznym, na którym zbudowany jest edytor Emacs.

4
Zalety ustawiania zmiennych za pomocą setq zamiast custom.el?
Widzę, że wiele osób (autorów rozszerzeń i inni) podaje przykłady konfiguracji z setq: (setq foo 'bar) Parametry te są często definiowane za pomocą defcustom, dzięki czemu można je dostosowywać poprzez custom.el. Zazwyczaj używam ich custom.eldo ustawiania. Czy skorzystanie z niej byłoby korzystne, setqczy te dwie metody są w przybliżeniu równoważne?

6
Czy mogę użyć trybu org do uporządkowania pliku .emacs lub innego pliku konfiguracyjnego .el?
Mój .emacsplik konfiguracyjny staje się coraz większy i chciałbym uzyskać lepszy przegląd i strukturę, dodając nagłówki, podtytuły i mogąc je ukryć lub pokazać, tak jak mogę to zrobić w Emacsie org-mode. Zauważyłem, że mogę aktywować org-moderównież w .emacsbuforze i że można dodawać nagłówki i zwijać je. Ale czy Emacs / …

3
Jak zapisać makro klawiatury jako funkcję Lisp?
Bardzo często musiałbym wykonać zestaw kroków wymagających wielu naciśnięć klawiszy. W tej samej sesji kroki te można zapisać w makrze klawiatury. Przykładem jest zapisanie często wykonywanej operacji wyszukiwania / zamiany jako makra klawiatury. Ale to makro jest tracone, kiedy wychodzę z emacsa. Jak zapisać często używane makro klawiatury jako funkcję …

2
Dlaczego elisp nie ma przestrzeni nazw?
P: Dlaczego elisp nie ma przestrzeni nazw i jak możemy je zdobyć? Elisp nie ma przestrzeni nazw innych niż globalna, co doprowadziło do konwencji kodowania polegającej na prefiksowaniu wszystkich globalnych funkcji, zmiennych i stałych unikalnym prefiksem. Oprócz czynnika irytacji, wydaje mi się to również kwestią duszenia się, biorąc pod uwagę …
40 elisp 

9
Jak mogę rozpocząć naukę Emacsa Lispa?
Tło: Jestem głównie użytkownikiem vi i przechodzę na Emacsa. Przekroczyłem podstawy i teraz używam go do pisania kodu w C i niektórych Pythonach, planując również konwersję R. Pisałem (Common) LISP przez lata ponad dwie dekady temu, kiedy byłem w szkole, ale teraz poważnie się skończyłem (mogę napisać witaj świecie, ale …

5
Jak zastąpić element listy?
Mam to domyślnie w moim auto-mode-alist: ("\\.js\\'" . javascript-mode) (nawet z emacs -Q). Chciałbym podstawić js2-modeza javascript-mode. Oczywiście, mogę używać assq-delete-all, a następnie add-to-listponownie, ale zastanawiam się, czy nie ma lepszego sposobu. Edycja: wyraźnie nie chcę używać opcji Dostosuj, wolę tworzyć init.elwłasne.

3
Dlaczego „pozwól” szybciej dzięki zakresowi leksykalnemu?
Podczas czytania kodu źródłowego dolistmakra natrafiłem na następujący komentarz. ;; To nie jest wiarygodny test, ale nie ma to znaczenia, ponieważ obie semantyki są dopuszczalne, jedna jest nieco szybsza z dynamicznym określaniem zakresu, a druga jest nieco szybsza (i ma czystszą semantykę) z określaniem zakresu leksykalnego . Które odnosiły się …

3
Jak wiedzieć, kiedy lub kiedy nie używać pojedynczego cudzysłowu przed nazwami zmiennych?
Mam poniżej: (setq some-variable "less") Jestem zdezorientowany, dlaczego muszę używać pojedynczego cytatu z, boundpale nie z bound-and-true-p. Przykład 1: (when (boundp 'some-variable) (message "some-variable is %s" some-variable)) Wynik: „jakaś zmienna jest mniejsza” Przykład 2a: (when (bound-and-true-p some-variable) ;; Note that using single-quote causes error (message "some-variable is %s" some-variable)) Wynik: …
31 elisp  quote 

4
Kiedy zacytować wyrażenie lambda?
P: Kiedy, jeśli w ogóle, użyteczne jest precyzyjne zacytowanie a lambda, a kiedy, jeśli w ogóle, nie powinniśmy ostro zacytować a lambda? Ludzie używają lambdas na trzy sposoby: Równina: (lambda (x) x) zacytowany: '(lambda (x) x) ostre cytaty: #'(lambda (x) x) Ten wątek SO omawia trzy typy, ten wątek SO …
30 elisp  functions 


3
Kiedy powinienem używać automatycznego ładowania zamiast wymagać?
Z tego, co rozumiem, requiresłuży do ładowania dużych fragmentów kodu (coś w rodzaju modułów), chociaż może również ładować poszczególne funkcje. Z drugiej strony autoload, rejestruje tylko funkcje i odkłada ładowanie do czasu wykonania. Niedawno przeczytałem artykuł, który zaleca stosowanie autoloadwyłącznie. Czy to jest lepsze autoloadniż require? Jakie są typowe przypadki …

1
Jak korzystać z nadvice?
Moja konfiguracja jest pełna porad i wciąż słyszę o nowym błyszczącym minimalistycznym nadvice.elpakiecie. Przeszukałem podręczniki i przeczytałem źródło , ale otwarcie przyznaję: wciąż nie mam pojęcia, jak go właściwie używać. Czy ktoś tutaj może wskazać mi przewodnik lub powiedzieć, jak zacząć przekazywać porady w starym stylu?

2
exec-path i $ PATH
Widziałem przykłady online, w których ludzie dodają ścieżki do domyślnej ścieżki w Emacsie za pomocą: (add-to-list 'exec-path "/usr/local/bin/") Jestem nowy w Elisp i myślę, że rozumiem, co robi powyższe stwierdzenie, ale mam kilka pytań: W jakiej kolejności Emacs przeszukuje ścieżki wykonania? Na przykład, czy w ogóle bierze pod uwagę wartość …
28 elisp  path 


2
Opcjonalne wartości domyślne parametrów
Emacs Lisp nie ma wsparcia syntaktycznego dla domyślnych parametrów opcjonalnych innych niż zero. Jaki jest zalecany idiom do dostarczania tych parametrów? Aby wyjaśnić moją kwestię, oto jeden nadmiernie wyraźny sposób na zrobienie tego. (defun command (a &optional supplied-b) (let ((b (or supplied-b default-b))) (command-body a b))) Jaki jest zalecany styl?
26 elisp 

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.