mardi 23 avril 2013

Coder efficacement avec Emacs - Partie 7 - Tramp mode

Le mode "Tramp" d'Emacs permet d'éditer des fichiers distants, typiquement par ssh. En plus de l'édition, toute une série de modes fonctionnent également en distant, notamment la compilation et le debug.

Ma découverte du mode Tramp a commencé lorsqu'il a fallu que je développe depuis ma machine de bureau Windows sur des serveurs Linux situés un peu plus loin que d'habitude. Tout d'un coup, mon installation habituelle à base de Putty + Exceed ou XMing (des serveurs X pour Windows) était horriblement lente. C'est parce que le protocole X est fait pour des réseaux locaux à basse latence, et devient complètement inutilisable même avec 1ms de délai. Une solution est d'utiliser VNC, qui est bien plus efficace dans ces conditions. Une autre est de faire tourner Emacs sur sa machine locale et d'utiliser Tramp.

Son utilisation est simple: il suffit d'ouvrir un fichier via C-x C-f et d'utiliser la syntaxe /ssh:user@machine:~/chemin. L'auto-complétion fonctionne, et l'on peut aller chercher son fichier. Une fois ouvert, on l'édite normalement, et on le sauve sur le chemin distant de manière complètement transparente.

Mais ce sont les modes de compilation et le mode gud qui rendent la fonctionnalité si utile. Une fois un fichier ouvert en distant, une commande de compilation, ou une ouverture du debuger se fera également en distant.

La réactivité d'une application locale, comme si on tournait là-bas!

Aucun commentaire: