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

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

69
Преимущества установки переменных с помощью setq вместо custom.el?

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

48
Могу ли я использовать org-mode для структурирования моего .emacs или другого файла конфигурации .el?

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

41
Как сохранить макрос клавиатуры как функцию Lisp?

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

40
Почему у elisp нет пространств имен?

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

39
Как я могу начать изучать Emacs Lisp?

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

36
Как заменить элемент списка?

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

31
Почему `let 'быстрее с лексической областью?

Читая исходный код dolistмакроса, я наткнулся на следующий комментарий. ;; Это не надежный тест, но он не имеет значения, потому что обе семантики являются приемлемыми, одна из них немного быстрее с динамическим определением области, а другая немного быстрее (и имеет более чистую семантику) с...

31
Как узнать, когда или когда не следует использовать одинарные кавычки перед именами переменных?

У меня есть ниже: (setq some-variable "less") Я смущен, почему я должен использовать одинарную кавычку с, boundpно не с bound-and-true-p. Пример 1: (when (boundp 'some-variable) (message "some-variable is %s" some-variable)) Результат: "некоторая переменная меньше" Пример 2а: (when...

30
Когда я должен использовать автозагрузку вместо require?

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

30
Когда нужно резко цитировать лямбда-выражение?

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

29
Как я могу использовать nadvice?

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

28
exec-path и $ PATH

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

28
В чем разница между push и add-to-list?

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

26
Необязательный параметр по умолчанию

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

26
Почему регулярные выражения, созданные с помощью построителя регулярных выражений, используют синтаксис, отличный от интерактивных регулярных выражений?

Таким образом, используя построитель регулярных выражений (Mx re-builder), для поиска строк, заканчивающихся на \, требуется «\\ $», а при поиске и замене на регулярное выражение - только «\ $». Я ожидал бы, что построитель регулярных выражений создаст непосредственно используемые выражения, так...

26
Как я могу симулировать событие произвольного ключа от Elisp?

Можно ли смоделировать произвольное ключевое событие из elisp? Мне известны способы, с помощью которых я могу найти привязку для данного ключа и затем вызвать эту команду в интерактивном режиме, но что, если это событие ключа не связано с командой? В качестве одного примера , что если бы я хотел...

25
Как я могу получить схему режима org во втором буфере как динамическое оглавление?

Когда я редактирую большие документы, я хотел бы видеть, где я нахожусь, видя схему (без содержимого) в отдельном буфере. Например, когда вы читаете файл PDF, слева отображается оглавление. (увидеть ниже) В режиме орг можно развернуть / свернуть контур. Но возможно ли иметь статический контур слева...

25
Могут ли функции получить доступ к их имени?

В C есть магическая переменная, __func__которая содержит текущее имя функции. В Bash есть массив, FUNCNAMEсодержащий имена всех функций в стеке вызовов !!! Есть ли похожая вещь в Emacs Lisp? Или какой-нибудь простой способ для функции иметь доступ к своему имени? Я не нашел никакого ответа в...