Вопросы с тегом «elisp»

вопросы о Emacs Lisp как о языке, по сравнению с другими языками, в частности, по сравнению с другими диалектами Lisp. То есть это вопросы * о самом языке *. * НЕ ИСПОЛЬЗУЙТЕ ЕГО * для вопросов о * использовании * Emacs Lisp. Emacs Lisp - это язык сценариев и программирования, на котором построен редактор Emacs.

4
Преимущества установки переменных с помощью setq вместо custom.el?
Я вижу, что многие люди (авторы расширений и другие) приводят примеры конфигурации с setq: (setq foo 'bar) Эти параметры часто определяются с помощью defcustom, делая их доступными для настройки через custom.el. Я обычно использую, custom.elчтобы установить их. Будет ли какое-то преимущество в использовании setqвзамен или эти два метода примерно эквивалентны?

6
Могу ли я использовать org-mode для структурирования моего .emacs или другого файла конфигурации .el?
Мой .emacsконфигурационный файл становится все больше и больше, и я хотел бы получить лучший обзор и структурирование, добавив заголовки, подзаголовки и возможность скрыть или показать их, как я могу сделать с Emacs org-mode. Я заметил, что я могу активировать org-modeтакже в .emacsбуфере и что можно добавить заголовки и свернуть их. …

3
Как сохранить макрос клавиатуры как функцию Lisp?
Очень часто мне нужно выполнять набор шагов, требующих нескольких нажатий клавиш. Для того же сеанса эти шаги могут быть записаны в макросе клавиатуры. Примером является сохранение часто выполняемой операции поиска / замены в виде макроса клавиатуры. Но этот макрос теряется, когда я покидаю emacs. Как я могу сохранить мой часто …

2
Почему у elisp нет пространств имен?
В: Почему у elisp нет пространств имен, и как мы можем их получить? У Elisp нет пространств имен, кроме глобального, что привело к соглашению о кодировании, заключающемуся в том, что все глобальные функции, переменные и константы имеют префикс с уникальным префиксом. Помимо фактора раздражения, это также поразило меня как проблему, …
40 elisp 

9
Как я могу начать изучать Emacs Lisp?
Задний план: Я в основном пользователь vi и перехожу на Emacs. Прошлое основы и теперь используйте его для написания кода на C и некоторых Python с планами сделать преобразование R тоже. Я писал (общий) LISP более двух десятилетий назад, когда я учился в аспирантуре, но сейчас у меня серьезные проблемы …

5
Как заменить элемент списка?
У меня это по умолчанию в моем auto-mode-alist: ("\\.js\\'" . javascript-mode) (даже с emacs -Q). Я хотел бы заменить js2-modeна javascript-mode. Конечно, я мог бы использовать, assq-delete-allа потом add-to-listснова, но мне интересно, нет ли лучшего способа. Редактировать: Я явно не хочу использовать Customize, я предпочитаю создавать свои собственные init.el.

3
Почему `let 'быстрее с лексической областью?
Читая исходный код dolistмакроса, я наткнулся на следующий комментарий. ;; Это не надежный тест, но он не имеет значения, потому что обе семантики являются приемлемыми, одна из них немного быстрее с динамическим определением области, а другая немного быстрее (и имеет более чистую семантику) с лексической областью действия . Который ссылался …

3
Как узнать, когда или когда не следует использовать одинарные кавычки перед именами переменных?
У меня есть ниже: (setq some-variable "less") Я смущен, почему я должен использовать одинарную кавычку с, boundpно не с bound-and-true-p. Пример 1: (when (boundp 'some-variable) (message "some-variable is %s" some-variable)) Результат: "некоторая переменная меньше" Пример 2а: (when (bound-and-true-p some-variable) ;; Note that using single-quote causes error (message "some-variable is %s" …
31 elisp  quote 

4
Когда нужно резко цитировать лямбда-выражение?
Q: Когда, если вообще, полезно ли ставить острые кавычки lambda, и когда, если вообще, мы не должны резкие кавычки lambda? Люди используют lambdas тремя способами: равнина: (lambda (x) x) цитировал: '(lambda (x) x) резкое цитируемое: #'(lambda (x) x) Этот поток SO обсуждает три типа, этот поток SO объясняет, почему не …
30 elisp  functions 

3
Когда я должен использовать автозагрузку вместо require?
Из того, что я понимаю require, используется для загрузки больших кусков кода (что-то вроде модулей), хотя он также может загружать отдельные функции. Автозагрузка с другой стороны, только регистрирует функции и откладывает загрузку до времени выполнения. Я недавно прочитал статью, которая защищает использование autoloadисключительно. Это лучше autoloadчем чем require? Каковы некоторые …


1
Как я могу использовать nadvice?
Мой конфиг полон советов, и я продолжаю слышать о новом блестящем минималистском nadvice.elпакете. Я искал руководства, и я прочитал источник , но я открыто признаю: я все еще не знаю, как на самом деле его использовать. Может ли кто-нибудь здесь указать мне на руководство или подсказать, как начать переносить мой …

2
exec-path и $ PATH
Я видел примеры онлайн, где люди добавляют пути к пути по умолчанию в Emacs с помощью: (add-to-list 'exec-path "/usr/local/bin/") Я новичок в Elisp и думаю, что понимаю, что делает приведенное выше утверждение, но у меня есть несколько вопросов: В каком порядке Emacs ищет пути выполнения? Например, учитывает ли он значение …
28 elisp  path 

3
В чем разница между push и add-to-list?
Я обнаружил, что различные пакеты в их инструкциях по установке используют push или add-to-list (например, добавление каталога в путь загрузки), и мне было интересно, в чем разница и каков вариант использования для каждого из них.
28 elisp 

2
Необязательный параметр по умолчанию
Emacs Lisp не имеет синтаксической поддержки значений по умолчанию для необязательных параметров. Какова рекомендуемая идиома для предоставления этих параметров? Чтобы прояснить мою точку зрения, вот один из слишком явных способов сделать это. (defun command (a &optional supplied-b) (let ((b (or supplied-b default-b))) (command-body a b))) Какой, если вообще, рекомендуемый стиль?
26 elisp 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.