Каковы наиболее важные части ELisp для изучения, если вы хотите программировать Emacs?
Я использую Emacs каждый день, так как это стандартный редактор для Erlang.
Я решил, как свое Резолюция Нового года научиться программировать eLisp. Я решил, что написать книгу о eLisp - лучший способ узнать.
У меня неплохой прогресс:
Изучите eLisp для Emacs
Стратегическая структура книги
- начало/основы
- более продвинутый eLisp
- запись второстепенного режима
- запись основного режима
Я познакомился с основами (т.е. первым из этих 4 баллов), охватывающим:
- оценка выражений
- Отладка
- добавление пунктов меню/панелей инструментов
- загрузка ваших собственных файлов emacs
- и т.д.
Если вы пишете книгу о языке программирования, вы обычно начинаете, хорошо зная язык, но я этого не делаю, поэтому моя главная проблема сейчас - проблема полноты:
- Как узнать, что я рассмотрел все функции, которые должен был освоить программист Emacs?
- Как обеспечить отсутствие пробелов в содержимом?
Поэтому я подумал, что я обращусь к ним, задав здесь сообщество. Мой вопрос: что не хватает из моей таблицы? (в частности, что должно содержать более расширенный раздел eLisp).
Ответы
Ответ 1
Теперь, когда интересный способ изучить язык...
Я думаю, что вы, вероятно, пропустили кучу основ в разделе "Начало/Основы". Если вы еще не прочитали его, я рекомендую прочитать "Введение в программирование в Emacs Lisp" (at gnu.org), который охватывает то, что я ожидаю увидеть в разделе "Основы". Я не буду докучать вырезать/вставлять оглавление.
Насколько известно, когда вы написали полную книгу... Ну, как только вы переписали Emacs Lisp manual в форме "как", вы знаете, что все готово. В качестве альтернативы, если вы написали книгу, которая может быть использована для ответа/интерпретации всех elisp и emacs, то вы, вероятно, получили достойный охват.
Какие дополнительные функции вы могли бы написать? Там совет, связь процесса, текст без ASCII, таблицы синтаксиса, abbrevs, текстовые свойства, байтовая компиляция, отображаемые таблицы, images и еще больше в manual.
Примечание. Правильная заглавная буква elisp - либо все строчные буквы, либо, возможно, прописные буквы E. Документация GNU вообще не использует "elisp" (в основном как имя каталога, все строчные буквы), она предпочитает "Emacs" Lisp ".
Примечание. В текущей версии вашей книги вы относитесь к глобальным переменным отрицательно. Вероятно, стоит прочитать "RMS-документ" , чтобы получить некоторое представление о принимаемых проектных решениях, в частности, глобальные переменные, а также динамическое связывание (последнее, которое вы еще не рассмотрели, что является ключевую (базовую) концепцию, которую вы уже ошибли в своей книге).
Ответ 2
Вместо того, чтобы спрашивать сообщество здесь, почему бы не использовать то, что сообщество уже предлагает? Просмотрите все вопросы с тегами "elisp" и посмотрите, где они соответствуют вашей книге. Обзор того, что люди действительно хотят понять, может быть лучшей информацией, которую вы получите.
Ответ 3
"Я прочитал оба руководства GNU - но они не так полезны, если вы не знаете Lisp/elisp."
Совет. Emacs не очень полезен, если вы не знаете Lisp.
Не правда, конечно, но вы поняли. Это действительно так:
Совет. Emacs гораздо полезнее, если вы знаете Lisp. Не говоря уже о веселее.
Что нужно узнать:
-
символы (это простые объекты, свойства - не только идентификаторы)
-
списки - ячейки cons, структура списка (включая изменение/совместное использование)
-
оценка
-
приложение функции
-
регэкспы
-
text/overlay/string свойства (значения могут быть любыми объектами Lisp)
-
буферы и окна
Ответ 4
Я бы посоветовал вам взглянуть на то, что два справочника Info включены в Emacs Emacs Lisp Intro "Введение в программирование в Emacs Lisp" и Elisp "Справочное руководство Emacs Lisp" уже должно предложить, а затем решить, что вы хотели бы добавлять или делать иначе, чем те.