Яке чудове запитання! Ось шлях, який я пройшов:
Крок 0: Прочитайте навчальний посібник Emacs
Прочитайте навчальний посібник Emacs перед усім. Здається, що ви це зробили. Добре вам! Однак для тих, хто прийде до цього пізніше, це місце для початку вашої подорожі Emacs. Існує багато оманливих публікацій блогу. Вони над складними речами. Emacs спрощує:
- Запустіть Emacs
- Натисніть
<RET>
Ви також можете отримати доступ до нього через Ctrl + h
t
, або C-h t
в Emacs нотації.
У навчальному посібнику представлені основні поняття Emacs, роз'яснюється історична термінологія, і ви забираєтеся за 30 хвилин. Він також встановлює етап для наступного кроку.
Крок 1: Прочитайте "Вступ до програмування в Emacs Lisp"
Наступний крок - прочитати Вступ до програмування в Emacs Lisp . Я не можу рекомендувати цю книгу достатньо; це так добре написано! Він поставляється з більшістю встановлень Emacs 1 . Просто натисніть C-h i
і виберіть його з меню. Ви також можете перейти до нього безпосередньо через C-h i m Emacs Lisp Intro
.
У передмові зазначено,
Цей текст написаний як елементарний вступ для людей, які не є програмістами.
Слід сказати, "для людей, які не є програмами Lisp". Lisp трохи відрізняється від інших мов, тому його варто прочитати, якщо ви не знайомі з Lisp. Автор має доступний стиль і проходить багато прикладів. Я пропрацював близько тижня.
Крок 1.5: Поради щодо розвитку Emacs Lisp з Джоном Віглі
Станом на кінець 2015 року Джон є підтримувачем проекту Emacs . Sacha Чуа робить велике інтерв'ю з ним тут , у якому Джон переходить основи Emacs, середовища розробки і надає багато хороших порад.
Крок 2: Прочитайте OPC (Код інших людей)
2а. Прочитайте вихідний код
Оскільки Emacs є "розширюваним, настроюваним, самодокументованим, редактором відображення в режимі реального часу", весь вихідний код включений. Навчіться використовувати довідкові функції, C-h f
для функції та C-h v
змінної. Завжди є посилання на вихідний код:
2б. Читати всі init.el
«S
Багато людей відслідковують свої init.el
файли в Git або Mercurial. Шукайте їх. Один фокус - натиснути на профіль людей на StackOverflow, особливо на emacs.stackexchange.com :
Вони часто мають посилання на свій GitHub або особистий веб-сайт:
Репости називаються dotemacs
або dotfiles
є досить поширеними. З часом ви зрозумієте, як виглядає хороший код і як виглядає поганий код. Ви також дізнаєтесь великі імена, як-от Xah , Sasha Chua , binchen , Magnar Sveen , Або-Або та багато інших. Є так багато людей, щоб навчитися!
Крок 3: Зламати Emacs
Киньте виклик, щоб написати потрібну функціональність. Ніколи не копіюйте код наосліп; завжди знайдіть час, щоб це зрозуміти. Якщо ви цього не розумієте, не використовуйте! Коли ви витрачаєте час на розуміння фрагмента коду, окрім того, щоб вивчити щось нове, ви часто думаєте про способи вдосконалити його для конкретного випадку використання. Це можливість зламати! Зрештою, init.el
саме для цього і потрібно! Робіть помилки, ламайте речі, вчіться налагоджувати. Ви дізнаєтесь, що оскільки Emacs написаний в Elisp, розвиток викликає захоплення.
Крок 4: Задайте питання на emacs.stackexchange.com
Я виявив, що спільнота Emacs на StackExchange любить гарне питання Elisp. Отже, рубайте з впевненістю, що інші люди оцінять ваші зусилля для навчання.
Крок 5: Дайте відповіді на запитання на сайті emacs.stackexchange.com
Ніщо не прояснює ваше розуміння, як спробувати щось пояснити. Тролінгуючи головну сторінку, ви також знайдете відповіді на питання, яких ви ніколи не знали.
Висновок
З часом ви зможете швидше генерувати рішення та відповідати на питання інших людей. Як і всі програми, це може бути неприємно. Однак не забудьте судити про себе сьогодні вчора. Деякі люди хакують Emacs буквально 30 років! Більшу частину часу, проте, ви побачите, що Emacs - це приємно працювати, і свобода, яку він вам надає, надихає.
Щасливий злом! :)
PS: Перевірте пакет зла .
1 Деякі встановлення не поставляються з ним. Наприклад, користувачі Debian повинні встановлювати його окремо. Це щось нерозумно , але воно зберігається в невільних репостах . Додайте невільне репо /etc/apt/sources.list
, додаючи non-free
до кінця кожного запису:
deb http://http.us.debian.org/debian stable main contrib non-free