Emacs упражняется, чтобы стать более комфортным и знакомым с самим редактором, а также Lisp?

Там отличный проект, называемый Ruby Koans, это серия задач, которые нужно реализовать на языке Ruby, перейдя через стандартный библиотеку с использованием пакета тестирования Ruby Unit Testing в качестве инструмента обучения. Это отличный проект.

Мне бы хотелось увидеть что-то подобное для Emacs.

Может ли кто-нибудь рекомендовать какие-либо упражнения Lisp, которые должны выполняться внутри Emacs, как для использования Lisp, так и для использования Emacs? Возможно, и при заполнении Ruby Koans?

Ответы

Ответ 1

http://www.gnuvola.org/software/elisp-tutorial/ - это уроки в формате .el. (emacs lisp). Я многому научился у них. Вы читаете их в emacs в интерактивном режиме lisp и тренируетесь в тексте.

Ответ 2

Книга, "Написание GNU Emacs Extensions" , приближается к тому, что вы просите.

Но если вы не хотите книгу, в stackoverflow уже есть три похожих вопроса: Какой лучший способ узнать lisp, Как быстро начать работу по использованию и изучению emacs и Советы по изучению elisp.

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

Ответ 3

The Little Schemer - это книга упражнений Lisp. Вы должны знать, что некоторые из них невозможны в Emacs Lisp, поскольку не поддерживает закрытие.

Он также ориентирован на рекурсию обучения не программистам, а это означает, что вы не будете охватывать весь диапазон операторов Lisp (большинство упражнений просто используют (cond...) рекурсивно.)

Мне очень понравилось, хотя.

Ответ 4

Очень старая книга Oreilly, Написание GNU Emacs Extensions, есть некоторые, если я правильно помню. Вы также можете посмотреть "Emacs Lisp Intro", найденный на страницах info (вы обращаетесь к ним с помощью M-x info.

Честно говоря, лучший способ изучить Emacs - это изменить способ взглянуть на него. Не смотрите на текстовый редактор, который нужно изучить, но как среда для написания текстовых редакторов, которые нужно изучить. Подумайте сами: что я всегда хотел в текстовом редакторе, но не нашел в редакторах, которые я использовал? Постарайтесь сделать это. Вы научитесь намного больше, быстрее, пытаясь сделать свой "собственный" редактор по частям, чем пытаться запомнить уроки, извлеченные из каких-то слабо связанных (если вообще) связанных упражнений, которые не имеют контекста в решении проблемы,

Ответ 5

Как этот:

Напишите простую программу для открытия определенного файла ( "~/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

Я называю это обвязкой Коан!