2011-02-12 2 views
3

Je suis tombé sur des raccourcis clavier de type vi pour Emacs, mais mon expérience passée dans le mixage de la configuration basée sur Lisp dans le fichier .emacs pour activer différents modes, etc., n'a pas été très agréable jusqu'à présent.Emacs pour Erlang avec vi comme des raccourcis clavier et des références courtes pratiques?

lu plusieurs articles sur Emacs + Erlang, mais il y a quelque chose qui pourrait être un peu plus facile pour les gens familiers avec la plupart vi (et qui ne sont pas familiers avec Lisp)?

L'ensemble des possibilités (raccourcis clavier) est assez impressionnant. Existe-t-il une référence de raccourci clavier/raccourcis spécialement adaptée au développement d'Erlang?

Répondre

2

utiliser juste vi et une ligne de commande. Il y a de nombreuses personnes qui font cela et cela semble très bien fonctionner pour eux. Même si j'utilise Emacs, ce n'est pas l'interaction Emacs-erlang que j'utilise. Plutôt j'ai juste juste un shell séparé d'Erlang et puis je charge des modules dans ce shell avec la commande l() pour l'interaction.


Répondre à vos questions une par une:

  • Débogueur Erlang est drôle. Tout d'abord, si votre programme est maintenu fonctionnel, vous constaterez que vous avez besoin beaucoup moins de débogage pour savoir ce que le programme ne correctement parce que vous pouvez simplement écrire de petits tests pour chacune des nombreuses fonctions pour tester son exactitude. Et vous pouvez les ajouter dans des frameworks de tests unitaires.

    Dès que vous ajoutez plusieurs processus au mélange, vous trouverez que le débogage traditionnel ne fonctionne plus de toute façon. L'astuce est alors de tracer et d'affirmer, et vous aurez besoin d'apprendre un moyen de lire les programmes sans les exécuter et voir où ils vont avec un débogueur.

    Cela dit, essayez d'exécuter debugger:start() dans un shell Erlang :) Il y a aussi les systèmes de traçage et Redbug, un outil 3ème partie construit sur eux (partie de la suite eper).

  • Le profilage peut être fait avec l'un des 3-4 profileurs: cprof, eprof et fprof sont toutes légèrement différentes dans leur portée et dans quel impact qu'ils ont sur votre programme et si elles peuvent être exécutés sur un système de production ou ne pas. J'ai tendance à utiliser eprof et j'ai un bouton dans mon programme qui engendrera un eprof et ensuite l'attacher au démarrage du programme.

  • Essayez appmon:start() dans une coquille. Le vi-way standard de la navigation sur de grandes bases de code est de créer tags -files de sorte que vous pouvez sauter au point de définition de la chose-sous-le-curseur. Emacs peut faire la même chose. J'ai une cible make tags pour créer ces fichiers afin que je puisse facilement faire des sauts dans le code source. Lorsque vous sautez, vous avez une pile des anciens sauts de sorte que vous pouvez revenir au point où vous avez sauté de plus tard.

  • Enfin, il existe des outils comme xref qui peuvent être travaillés pour créer des graphiques d'appel et trouver des choses bizarres dans le code. Cela nécessitera un certain codage de votre part, mais il vous fournira l'outillage nécessaire.

+0

Je travaille habituellement de la même manière avec emacs et un shell erlang. – rvirding

+0

ouais, j'utilise vim et la ligne de commande. En ce qui concerne le partage ou le fractionnement des fenêtres et autres joyeusetés, adapter mon environnement en tmux ou en écran fonctionne très bien. –

+0

@ je-donne-merde-réponses et @rvirding, merci pour vos réponses. Bon à savoir que les gens se débrouillent plutôt bien avec vi. Mais qu'en est-il du débogage, du profilage? Je comprends que gérer avec vi, pour un petit projet (je dirais moins de 10K LOC), créé par soi-même ou un petit enseignement serré, devrait être gérable. Cependant, si vous voulez étudier, pénétrer profondément dans le code de quelqu'un d'autre - et assez rapidement, un IDE avec des fonctionnalités telles que la navigation par code source rend le jeu de navigation plus facile/plus rapide. Tu ne penses pas? Ou vous avez trouvé une solution pour cela aussi? – icarus74

0

Viper mode fournit des raccourcis clavier de type Vi. C'est probablement le moyen le plus facile de commencer. L'activation d'un nouveau mode dans votre .emacs est une partie assez fondamentale de l'utilisation d'Emacs, c'est donc un obstacle à l'apprentissage le plus rapidement éliminé!

Le Emacs manual contient des informations plus détaillées sur l'apport de modifications individuelles à vos raccourcis clavier.

Vous pouvez trouver Xah's keybinding tutorial utile, car il fournit de nombreux exemples.

+0

merci pour votre réponse. Viper était en effet l'un des modes que j'avais trouvés. Cependant ma confusion était ce qui se passe quand je charge viper-mode, erlang-mode, distille sans aucun remappage keybinding? Est-ce qu'il n'y aura pas de conflit/confusion? Au final, mon objectif est de devenir rapidement productif avec Erlang, et non avec Emacs :-) ... un raccourci méchant peut-être! – icarus74

Questions connexes