Quelle belle question! Voici le chemin que j'ai pris:
Étape 0: Lisez le didacticiel Emacs
Lisez le tutoriel Emacs avant toute chose. On dirait que tu as fait ça. Bien sur toi! Cependant, pour tous ceux qui y viendront plus tard, c'est l'endroit idéal pour commencer votre périple Emacs. Il existe de nombreux articles de blogues trompeurs. Ils compliquent les choses. Emacs facilite les choses:
- Démarrer Emacs
- presse
<RET>
Vous pouvez également y accéder via Ctrl + h
t
, ou C-h t
en notation Emacs.
Le didacticiel présente les concepts de base d’Emacs, clarifie la terminologie historique et vous permet de commencer en moins de 30 minutes. Cela ouvre également la voie à la prochaine étape.
Étape 1: Lire "Introduction à la programmation dans Emacs Lisp"
La prochaine étape consiste à lire Une introduction à la programmation dans Emacs Lisp . Je ne saurais trop recommander ce livre. c'est si bien écrit! Il est livré avec la plupart des installations Emacs 1 . Appuyez simplement sur C-h i
et sélectionnez-le dans le menu. Vous pouvez aussi y aller directement via C-h i m Emacs Lisp Intro
.
La préface déclare,
Ce texte est écrit comme une introduction élémentaire pour les personnes qui ne sont pas des programmeurs.
Il devrait dire "pour les personnes qui ne sont pas des programmeurs Lisp". Lisp est un peu différent des autres langues, il vaut donc la peine d'être lu si vous ne connaissez pas Lisp. L'auteur a un style accessible et passe en revue de nombreux exemples. Il m'a fallu environ une semaine pour travailler.
Étape 1.5: Conseils de développement Lisp d’Emacs avec John Wiegley
À la fin de 2015, John est le responsable du projet Emacs . Sacha Chua fait un excellent entretien avec lui ici où John va sur les bases de Lisp, l'environnement de développement, et fournit beaucoup de bons conseils.
Étape 2: Lisez le code de conduite des personnes (CPP)
2a. Lire le code source
Comme Emacs est "l'éditeur d'affichage en temps réel extensible, personnalisable, auto-documentant", tout le code source est inclus. Apprenez à utiliser les fonctions d'aide, C-h f
pour une fonction et C-h v
pour une variable. Il y a toujours un lien vers le code source:
2b. Lire tous les init.el
's
Beaucoup de gens suivent leurs init.el
fichiers dans Git ou Mercurial. Cherchez-les. Une astuce consiste à cliquer sur le profil des personnes sur StackOverflow, en particulier emacs.stackexchange.com :
Ils ont souvent des liens vers leur site Web personnel ou GitHub:
Les repos sont appelés dotemacs
ou dotfiles
sont assez courants. Avec le temps, vous saurez à quoi ressemble un bon code et à quoi ressemble un code incorrect. Vous apprendrez également les grands noms, comme ceux de Xah , Sasha Chua , Binchen , Magnar Sveen , Abo-Abo et bien d'autres. Il y a tellement de gens à apprendre!
Étape 3: Pirater Emacs
Mettez-vous au défi d'écrire les fonctionnalités souhaitées. Ne jamais copier le code à l'aveuglette; prenez toujours le temps de le comprendre. Si vous ne le comprenez pas, ne l'utilisez pas! Lorsque vous prenez le temps de comprendre un morceau de code, en plus d'apprendre quelque chose de nouveau, vous réfléchissez souvent aux moyens de l'améliorer pour votre cas d'utilisation particulier. C'est une opportunité à pirater! Après tout, c'est pour ça que vous init.el
êtes! Faire des erreurs, casser des choses, apprendre à déboguer. Vous constaterez qu'Emacs étant écrit en Elisp, le développement est un délice.
Étape 4: Posez des questions sur emacs.stackexchange.com
J'ai découvert que la communauté Emacs sur StackExchange adorait une bonne question Elisp. Alors, piratez avec confiance que d'autres personnes apprécieront vos efforts pour apprendre.
Étape 5: répondez aux questions sur emacs.stackexchange.com
Rien ne clarifie votre compréhension comme d'essayer d'expliquer quelque chose. En parcourant la page principale, vous trouverez également des réponses à des questions que vous ne saviez pas que vous aviez.
Conclusion
Avec le temps, vous serez capable de générer des solutions plus rapidement et de répondre aux questions des autres. Comme toute programmation, cela peut être frustrant. Cependant, souvenez-vous de vous juger aujourd'hui contre vous-même hier. Certaines personnes piratent sur Emacs depuis littéralement 30 ans! La plupart du temps, vous constaterez qu'Emacs est un plaisir de travailler avec et que la liberté qu'il vous procure est une source d'inspiration.
Bonne piratage! :)
PS: Découvrez le paquet diabolique .
1 Certaines installations ne viennent pas avec. Les utilisateurs de Debian, par exemple, doivent l’installer séparément. C'est un peu bête , mais c'est stocké dans le dépôt non-libre . Ajoutez un dépôt non libre à /etc/apt/sources.list
en ajoutant non-free
à la fin de chaque entrée:
deb http://http.us.debian.org/debian stable main contrib non-free
Je recommande le "Emacs Lisp Intro".
Le "Intro Emacs Lisp" est peut-être déjà disponible au format info dans votre Emacs. Essayez
C-h i m Emacs Lisp Intro RET
ou évaluez(info "(eintr) Top")
dans Emacs.Si cela échoue, recherchez "Emacs Lisp Intro" sur le Web.
la source
Commencez par la page Wiki d’ Emacs Découvrez Emacs Lisp .
Non pas que cette page elle-même vous apprenne Emacs Lisp. Il indiquera plutôt des ressources d’apprentissage - exactement ce que vous recherchez ici , avec votre question. De nombreux utilisateurs y ont contribué et l’ont édité au fil des ans. Cela présente des avantages et des inconvénients par rapport au blog d’un utilisateur. La qualité des suggestions y est bien sûr diverse, en raison de la variété des entrées.
Au-delà de tout ce que d’autres ont dit, en commençant par la documentation intégrée d’Emacs:
Le manuel Elisp - principalement une référence, mais quelques bonnes indications d'utilisation et informations conceptuelles aussi. Il est intégré à Emacs:
C-h i
choisissez ensuite le manuel Elisp.The Emacs Lisp Intro - introduction pas à pas à Lisp et à Emacs Lisp. Également intégré à Emacs et disponible auprès de
C-h i
.Puisque vous avez utilisé Common Lisp, il sera très facile de récupérer Emacs Lisp. Considérez-vous chanceux à ce sujet.
Si vous aviez utilisé Common Lisp (ou Zeta Lisp ou autre) sur une machine Lisp, l'expérience serait assez similaire. Vous pouvez penser à Emacs comme (entre autres choses), un excellent environnement Lisp. Vous pouvez passer de zéro à 60 en un rien de temps, tout en apprenant.
S'amuser!
la source
Pour faire un rappel sur Lisp, je recommande vivement les trois premiers chapitres de Peter Norvigs, Paradigmes de la programmation de l'intelligence artificielle . Ceux-ci vous donnent une bonne et rapide introduction à Lisp qui vous remettra sur les rails rapidement.
Pour noobs Il y a du Lisp comme une introduction au calcul symbolique qui vous enseigne les mêmes concepts , mais à un rythme beaucoup plus faible.
Les deux livres sont disponibles en ligne gratuitement.
Après avoir parcouru l’un des points ci-dessus, vous pouvez lire tous les articles marqués Elisp sur nullprogram.com et consulter le guide de lecture de masteringemacs.org . Pour en savoir plus sur les pièges courants, lire les questions principales ici vous aidera. Pour des problèmes spécifiques, effectuez une recherche sur ce site, sur rosettacode ou sur votre moteur de recherche préféré.
Une fois familiarisé avec les bases, les manuels d’information répondent généralement à la plupart des questions en suspens lors du piratage d’Emacs.
la source
Puisque vous avez une formation en Common Lisp et que vous avez "dépassé les bases", inutile de vous perdre dans "Introduction à la programmation dans Emacs Lisp".
Ce que vous pouvez faire tout de suite (je n’ai pas de formation en CL et cela a fonctionné pour moi) est:
1) Trouvez un mode que vous utilisez et essayez d’ajouter des fonctions. Vous trouverez de l’aide dans le manuel Lisp d’Emacs.
2) écrivez votre propre fichier personnalisé avec vos propres fonctions simples, ici encore utilisez la référence Emacs Lisp
La liste de help-gnu-emacs est extrêmement utile.
la source
Je ne pense vraiment pas que vous ayez besoin de lire quelque chose de spécifique sur emacs lisp. Ce n'est un secret pour personne que si vous voulez faire quelque chose dans Emacs, il y a de fortes chances que vous ayez juste à trouver la bonne commande ou que quelqu'un ait déjà écrit le code et qu'il réside maintenant quelque part sur une page wiki, ou github, ou a été transformé en un plugin. . En copiant-collant ce code et en le lisant , vous aurez appris une bonne part du lisp d’Emacs au moment même où vous êtes quelque peu satisfait de votre .emacs.
Si vous souhaitez avoir des idées sur la façon de personnaliser Emacs, les configurations personnalisées par d'autres personnes peuvent être une bonne source de sagesse. Vous trouverez ici une liste sélectionnée de ces configurations . Bien qu'en réalité, votre propre vision fonctionne mieux et que visiter le .emacs d'autres personnes ne soit généralement justifié que si vous souhaitez obtenir des réponses à certaines questions (par exemple, comment structurer mon code / mes packages?) Ou un code copié pour votre objectif spécifique.
La navigation sur MELPA m'a permis d'installer et d'essayer une douzaine de paquets.
Si vous voulez développer un plugin, j'ai constaté que la lecture du code d'un plugin particulier de votre choix peut vous permettre de démarrer assez rapidement.
Depuis que vous utilisez vi, vérifiez le mauvais mode , cela a très bien fonctionné pour moi. Je recommanderais également la barre avec
helm-apropos
(ou justeapropos
si vous ne voulez pashelm
) la commande pour faciliter votre voyage.Mon conseil est donc d'arriver au point de personnalisation tout de suite et vous apprendrez tout ce dont vous avez besoin pendant vos déplacements. Surtout que vous avez piraté lisp auparavant, il y a longtemps ou pas, et parce qu'apprendre elisp est, à ma connaissance, un moyen de parvenir à vos fins, qui consiste à personnaliser emacs.
la source
Le titre Elisp sur l’exercice physique est également un moyen amusant d’améliorer vos compétences. Les exercices sont plus axés sur elisp que sur Emacs, mais couvrent un large éventail de bases, telles que les expressions régulières, les structures de données, les mathématiques, etc.
la source
Il me semble que la réponse de Loren Ipsum couvre assez bien la question.
https://emacs.stackexchange.com/a/47320/21433
J'ajouterais simplement que je suppose que vous connaissez les bases de Lisp. Cela vous aiderait, mais ce n'est pas nécessaire (j'y reviendrai).
Une façon d'apprendre consiste simplement à pirater ou à modifier un mode / une extension existante. Je l'ai appris en 93 en piratant le fichier en mode langue Ada. Ce fut l'une des expériences les plus amusantes que j'ai vécues à l'université.
Ainsi, vous pouvez le faire avec le langage de votre choix, par exemple un mode Java, un mode Lisp ou même un fichier en mode Elisp.
Changez-le, ajoutez des macros, etc. C'est comme ça que je l'ai fait.
la source