Emacs est grande et il est tout à fait compréhensible de se sentir intimidé. Probablement le chemin de moindre résistance pour apprendre à programmer Emacs lisp est de comprendre certaines des tâches que vous voulez vraiment faire. Une fois c'est personnel, la motivation va être beaucoup plus élevé.
Cela étant dit, peut-être que vous voulez écrire un navigateur web... Voici quelques idées de choses simples à mettre en œuvre. La plupart sont déjà prévues (par emacs ou d'autres paquets), mais d'apprendre à le faire entraînera l'apprentissage de la façon d'apprendre Emacs lisp.
Note: Des Solutions pour l'exemple, les problèmes peuvent être trouvés dans cette autre réponse.
charge-mon préféré-fichier
- une fonction qui, lorsqu'on les appelle des charges jusqu'à votre favori (codé en dur) fichier. par exemple, votre .emacs fichier.
cycle spécial-fichiers
- une fonction qui, lorsqu'il est appelé à plusieurs reprises, de cycles à travers une liste des fichiers de votre choix (par exemple .alias, weeklystatus, trackerlist)
comte-chaîne-matchs
- retourne le nombre d'occurrences de la CHAÎNE de caractères dans le tampon suivant le point de
recharger-dot-emacs
- invite à enregistrer .emacs fichier (si nécessaire) et de charger le fichier
bande-fuite-blanc
- supprimer les espaces en fin de ligne dans l'ensemble de la mémoire tampon
insérez-code-modèle
- une fonction qui insère un modèle dans le tampon courant
par exemple, un modèle de fichier d'en-tête, ou un .rpc fichier, ou un fichier perl
- les points de bonus pour fournir un mécanisme pour le faire suffisamment général pour l'utiliser afin qu'il fonctionne différemment selon le mode approprié et/ou l'extension de fichier
- conseils : la variable " grands-mode, listes d'association
- plus de points de bonus, le crochet vers le haut de sorte que cette fonction est automatiquement appelée quand une nouvelle (vide) de l'ouverture du fichier
insérez-checkin-modèle
- une fonction qui vous invite pour les différents champs d'un enregistrement de la demande, en donnant les valeurs par défaut
- les points de bonus pour la bonne mise en retrait de la liste des fichiers
chaîne à remplacer
- prendre trois arguments de la chaîne, remplacez toutes les occurrences de la première par la seconde à la troisième chaîne. De retour de la chaîne nouvellement créée.
Emacs documentation est assez complet, voici quelques précieux références:
C-h i m elisp RET (emacs lisp info page)
M-x find-function (show the source for the given function)
C-h C-h (list the help topics)
C-h f interactive RET (read documentation for this, it's what tells Emacs the defun is a command)
Et voici quelques Emacs lisp routines que vous trouverez vous avez besoin pour mettre en œuvre les idées ci-dessus:
Mouvement/Position
forward-line
forward-char
goto-char
beginning-of-line
end-of-line
point
mark
Tampon liées
set-buffer
current-buffer
buffer-name
D'autres
search-forward
match-beginning
match-end
match-string
save-excursion
y-or-n-p
file-exists-p
find-file-noselect
copy-region-as-kill
La Lecture De La Source
En outre, si vous aimez un morceau particulier de fonctionnalité (par exemple, indent-region
, column-number-mode
, rot13-region
), d'aller la chercher à la source (à l'aide d' M-x find-function
). Le fait que vous savez déjà ce que la fonction ne vous aidera un peu dans la détermination de la façon dont elle est ce qu'elle fait. Commencer petit et de passer à des choses plus grandes, comme vous acquérir de la confiance. Les Chances sont que vous allez apprendre quelque chose de nouveau à chaque fonction, vous examiner.