Ответ 1
http://www.gnuvola.org/software/elisp-tutorial/ - это уроки в формате .el. (emacs lisp). Я многому научился у них. Вы читаете их в emacs в интерактивном режиме lisp и тренируетесь в тексте.
Там отличный проект, называемый Ruby Koans, это серия задач, которые нужно реализовать на языке Ruby, перейдя через стандартный библиотеку с использованием пакета тестирования Ruby Unit Testing в качестве инструмента обучения. Это отличный проект.
Мне бы хотелось увидеть что-то подобное для Emacs.
Может ли кто-нибудь рекомендовать какие-либо упражнения Lisp, которые должны выполняться внутри Emacs, как для использования Lisp, так и для использования Emacs? Возможно, и при заполнении Ruby Koans?
http://www.gnuvola.org/software/elisp-tutorial/ - это уроки в формате .el. (emacs lisp). Я многому научился у них. Вы читаете их в emacs в интерактивном режиме lisp и тренируетесь в тексте.
Книга, "Написание GNU Emacs Extensions" , приближается к тому, что вы просите.
Но если вы не хотите книгу, в stackoverflow уже есть три похожих вопроса: Какой лучший способ узнать lisp, Как быстро начать работу по использованию и изучению emacs и Советы по изучению elisp.
Я не знаю серии "ходьбы", которая существует, но обнаружила, что лучший способ - начать думать о мелочах, которые вы хотели бы сделать, а затем попытаться заставить его работать (просьба здесь помогает). Даже если Emacs уже предоставляет такую функциональность, вам может показаться более интересным решать проблемы, которые вы хотите решить, а не кучу уроков, которые вас мало интересуют.
The Little Schemer - это книга упражнений Lisp. Вы должны знать, что некоторые из них невозможны в Emacs Lisp, поскольку не поддерживает закрытие.
Он также ориентирован на рекурсию обучения не программистам, а это означает, что вы не будете охватывать весь диапазон операторов Lisp (большинство упражнений просто используют (cond...) рекурсивно.)
Мне очень понравилось, хотя.
Очень старая книга Oreilly, Написание GNU Emacs Extensions, есть некоторые, если я правильно помню. Вы также можете посмотреть "Emacs Lisp Intro", найденный на страницах info
(вы обращаетесь к ним с помощью M-x info
.
Честно говоря, лучший способ изучить Emacs - это изменить способ взглянуть на него. Не смотрите на текстовый редактор, который нужно изучить, но как среда для написания текстовых редакторов, которые нужно изучить. Подумайте сами: что я всегда хотел в текстовом редакторе, но не нашел в редакторах, которые я использовал? Постарайтесь сделать это. Вы научитесь намного больше, быстрее, пытаясь сделать свой "собственный" редактор по частям, чем пытаться запомнить уроки, извлеченные из каких-то слабо связанных (если вообще) связанных упражнений, которые не имеют контекста в решении проблемы,
Как этот:
Напишите простую программу для открытия определенного файла ( "~/ekoans.txt" ) и выберите случайную строку из этого текстового файла, которая отображается пользователю в новом временном буфере. Вызвать функцию ekoan-random и сделать ее вызываемой пользователем.
Первые несколько строк ekoans.txt:
Make ekoan-random open up a new file for you instead of a temporary buffer, and insert apropos header text in the new buffer.
Write an ekoan-sequential function that behaves like ekoan-random, except it works in sequential order
Make ekoan-sequential persist through a customization variable
Make the name of the koan file changeable by a customization variable
Я называю это обвязкой Коан!