OCaml sous Emacs

Quickstart

Prise en main d'Emacs

Emacs: Esc Meta Alt Control Shift

Dans ce Quickstart:

  • C-a signifie Control a
  • M-a signifie Meta a, ou Escape a
  • S-a signifie Shift a

Prise en main rapide d’Emacs

Documentation intégrée

  • Emacs possède sa propre documentation,
    • sous un format appelé Info, utilisé aussi par d'autres logiciels.
      • Exemples sous le shell: info emacs ou info gcc.

    • Accessible sous Emacs par C-h i, puis cliquer sur Emacs.

    • Documentation du système Info accessible… sous Info !
      • C-h i, puis cliquer sur Info.

In a nutshell

real_programmers.png

https://www.explainxkcd.com/wiki/index.php/378:_Real_Programmers

Configuration

  • Emacs peut être personnalisé par installation de plugins.
  • Le fichier de configuration est ~/.emacs.d/init.el.
  • Un script fourni permet d'installer des paquets utiles.
    • Vérification syntaxique à la volée dans la plupart des langages,
    • Complétion automatique (snippets, fonctions de bibliothèque).

L’environnement fourni

Installation d'un environnement Emacs/C/OCaml

  • Copier-coller sous le shell (inutile si vous avez installé ASDA) :
    bash <(curl -s http://www.labri.fr/perso/zeitoun/opam_emacs_script)

  • Installation :
    • 10 à 15mn
    • ~400Mb pendant l'installation sur le répertoire principal.
    • ~400Mb de façon permanente sur l'espace de travail.
  • Vérifiez l'espace disponible par quota -s (/vol/account et /vol/travail).
  • Une fois le script terminé, relancez la session CREMI.

Fonctionnalités

  • Le script fourni configure plusieurs fonctionnalités d’Emacs.

  • Sous Ocaml, il fournit :
    • La vérification à la volée de la syntaxe,
    • La vérification à la volée du typage,
    • La complétion automatique,
    • Des abréviations configurables,
    • L’évaluation du code entré.

Touches spécifiques à OCaml

  • S-entrée : évalue la phrase sous le curseur.
  • C-entrée : évalue la région sélectionnée.
  • M-entrée : évalue tout le buffer (= ce qui est dans la fenêtre).
  • C-c i  sur un nom de module : «apprend» les fonctions du module au vérificateur syntaxique.

Quelques fonctionnalités utiles

  • Débloquer Emacs : C-g.
  • Undo simple : C-_.
  • Undo via l'arbre d'historique : C-x u.
  • Changer de thème : F12.