Malheureusement, les systèmes Unix ne sont pas fournis avec des sortes d'environnements de développement intégrés tout-ce-que-vous-avez-toujours-voulu-et-beaucoup-plus-dans-un-ensemble-gigantesque que d'autres sytèmes ont. [9] Toutefois, il est possible de se faire son propre environnement. Cela n'est pas forcément aussi joli et il peut ne pas être autant intégré mais vous pouvez le personnaliser comme vous voulez. Et c'est gratuit. Et vous en avez les sources.
La clé de tout cela est Emacs. Maintenant il y a des gens qui le détestent, mais beaucoup l'aiment. Si vous êtes un du premier groupe, j'ai peur que cette section ait peu d'intérêt pour vous. Vous aurez besoin d'une quantité moyenne de mémoire pour le faire fonctionner—Je recommenderai 8Mo en mode texte et 16Mo dans X pour avoir un minimum de performances.
Emacs est basiquement un éditeur hautement personnalisable —en effet, il a été personnalisé au point de ressembler plus à un système d'exploitation qu'à un éditeur! Beaucoup de développeurs et d'administrateurs système passent en fait pratiquement tout leur temps à travailler dans Emacs, en ne le quittant qu'à leur déconnexion.
Il est impossible de dire tout ce qu'Emacs peut faire ici, mais voici quelques unes des caractéristiques d'intérêt pour les développeurs:
Un très puissant éditeur, permettant le chercher-remplacer sur les chaînes et les expressions régulières (motifs), sauter à la fin ou au début d'un bloc, etc, etc.
Menus déroulants et aide en ligne.
Colorisation syntaxique en fonction du langage et indentation.
Totalement personnalisable.
Vous pouvez compiler et déverminer des programmes dans Emacs.
Sur erreur de compilation, vous pouvez aller directement à la ligne de code source fautive.
Une interface amicale au programme info
utilisé pour lire la documentation hypertexte GNU,
incluant la documentation sur Emacs elle-même.
Une interface agréable à gdb
, vous permettant
de voir le code source au fur et à mesure que vous vous déplacez
dans votre programme.
Vous pouvez lire les nouvelles Usenet et envoyer des e-mails pendant que votre programme est en compilation.
Et sans doute beaucoup plus que je n'ai survolé.
Emacs peut être installé sur FreeBSD en utilisant Emacs le logiciel porté Emacs.
Une fois installé, démarrez-le et faites C-h t
pour lire un cours sur Emacs—cela signifie maintenir la touche control,
presser h, relâcher la touche control
et presser t. (Alternativement, vous pouvez utiliser la souris
pour sélectionner dans le menu
).
Bien que Emacs possède des menus, il est valable d'apprendre les raccourcis
clavier, étant plus rapide quand vous éditez quelque chose
d'appuyer sur un couple de touches que de reprendre la souris et de cliquer
au bon endroit. Et, quand vous discutez avec des utilisateurs expérimentés
d'Emacs, vous trouverez qu'ils parlent souvent de choses comme
« M-x replace-s RET foo RET bar RET
» aussi il est utile
de savoir ce que cela veut dire. Et dans tous les cas, Emacs possède beaucoup trop
de fonctions pour qu'elles soient dans les barres de menus.
Heureusement, il est assez simple de récupérer les raccourcis
clavier car ils sont affichés à côté des éléments
des menus déroulants. Mon conseil est d'utiliser un élément de menu
pour, disons, ouvrir un fichier jusqu'à ce que vous sachiez comment cela fonctionne
et que quand vous vous sentez à l'aise avec, essayez C-x C-f
.
Quand vous serez content avec ça, passez à une autre commande du menu.
Si vous ne pouvez pas vous rappeler de ce qu'une combinaison de touches particulières fait, sélectionnez
dans le menu et tapez-la—Emacs vous dira ce qu'elle fait. Vous pouvez aussi utiliser l'élément de menu pour trouver toutes les commandes qui contiennent un mot particulier, avec leur raccourci clavier.De cette manière, l'expression ci-dessus signifie maintenir la touche
Meta, taper x, relâcher
la touche Meta, taper replace-s
(raccourci pour replace-string
—
une autre caractéristique d'Emacs est que vous pouvez abréger
les commandes), appuyer sur la touche Entrée, taper
foo
(la chaîne que vous voulez remplacer), presser
la touche Entrée, taper bar
(la chaîne
que vous voulez substituer à foo
) puis appuyer sur
Entrée une dernière fois. Emacs va alors faire
l'opération chercher-remplacer que vous avez demandé.
Si vous vous demandez ce qu'est cette touche Meta, il s'agit d'une touche spéciale que beaucoup de stations de travail Unix possèdent. Malheureusement, les PC n'en ont pas, aussi c'est habituellement la touche alt (ou si vous n'avez pas de chance, la touche échap).
Oh, et pour sortir d'Emacs, faites C-x C-c
(ce qui signifie maintenir la touche control appuyée,
appuyer c et relâcher la touche control.
Si vous avez des fichiers non sauvegardés ouverts, Emacs vous demandera si
vous voulez les sauvegarder. (Ignorez le bout de documentation où il est dit
que C-z
est la manière habituelle de quitter Emacs—
qui quitte Emacs en le laissant tourner en tâche de fond et qui n'est
vraiment utile que si vous avez un système sans terminal virtuel).
Emacs fait des choses merveilleuses; une partie est intégrée directement, une autre doit être configurée.
Plutôt que d'utiliser un macro langage propriétaire pour la configuration, Emacs utilise une version du Lisp spécialement adaptée pour les éditeurs, connue sous le nom d'Emacs Lisp. Celui-ci peut être assez utile si vous voulez poursuivre et apprendre quelque chose comme le Common Lisp, car il est considérablement plus petit que le Common Lisp (bien que déjà assez gros!).
La meilleure façon d'apprendre l'Emacs Lisp est de télécharger le cours d'Emacs
Toutefois, il n'y a pas besoin de connaître le Lisp pour commencer
la configuration d'Emacs, car j'ai inclus un exemple de fichier .emacs
qui devrait être suffisant pour commencer. Copiez juste celui-ci dans votre
répertoire utilisateur et redémarrez Emacs si celui-ci s'exécute,
il lira les commandes du fichier et (si tout va bien!) vous donnera une configuration
basique utile.
Malheureusement, il y a beaucoup trop de choses ici pour les expliquer en détail; toutefois, il y a un ou deux points qui valent d'être mentionnés.
Tout ce qui commence avec un ;
est un commentaire et est
ignoré par Emacs.
A la première ligne, le -*- Emacs-Lisp -*-
est tel que vous pouvez éditer le fichier .emacs
lui-même
à l'intérieur d'Emacs et d'obtenir tous les fantaisistes dispositifs
pour l'édition en Emacs Lisp. Emacs essaye habituellement de deviner cela
en se basant sur le nom du fichier, et ne trouvera peut-être pas pour
.emacs
.
La touche tab est liée à la fonction d'indentation dans certains modes, aussi quand vous l'enfoncez, cela va indenter la ligne courante de code. Si vous voulez mettre un caractère tab dans quoique ce soit que vous tapiez, maintenez la touche control enfoncée pendant que vous appuyez sur tab.
Ce fichier supporte la colorisation de syntaxe pour les langages C, C++, Perl, Lisp et Scheme en devinant le langage par leur nom.
Emacs possède déjà une fonction pré-définie
appelée next-error
. Dans la fenêtre de sortie d'une
compilation, cela vous permet de vous déplacer d'une erreur de compilation
à la suivante en faisant M-n
; nous définissons une
fonction complémentaire previous-error
, qui vous permet
d'aller à l'erreur précédente en faisant M-p
.
Le plus beau dispositif de tous est que C-c C-c
va ouvrir le fichier source dans lequel l'erreur a eu lieu et sautera à la ligne
appropriée.
Nous autorisons la capacité d'Emacs à agir comme un serveur ainsi si vous faites quelque chose en dehors d'Emacs et voulez éditer un fichier, tapez juste
%
emacsclient nomfichier
et alors vous pouvez éditer le fichier dans votre Emacs! [10]
.emacs
Maintenant, Emacs est très bien si vous voulez seulement programmer
dans des langages déjà fournis dans le fichier .emacs
(C, C++, Perl, Lisp et Scheme), mais qu'arrive-t-il si un nouveau langage appelé
« whizbang » sort, plein d'excitantes fonctionnalités ?
La première chose à faire est de savoir si whizbang est fourni avec
des fichiers de configuration pour Emacs. Ceux-ci se terminent habituellement
par .el
, raccourci pour « Emacs Lisp ».
Par exemple, si whizbang est un logiciel porté FreeBSD, nous pouvons
localiser ces fichiers en faisant
%
find /usr/ports/lang/whizbang -name "*.el" -print
et les installer en les copiant dans le répertoire Lisp d'Emacs.
Sur FreeBSD 2.1.0-RELEASE, il s'agit de /usr/local/share/emacs/site-lisp
[11].
Aisni par exemple, si la sortie de la commande find
était
nous ferions
#
cp /usr/ports/lang/whizbang/work/misc/whizbang.el /usr/local/share/emacs/site-lisp
Ensuite, nous devons décider quel extension les fichiers source whizbang ont. Disons
qu'il s'agit de fichiers se terminant par .wiz
. Nous devons
ajouter une entrée dans notre fichier .emacs
pour être sûr
qu'Emacs sera capable d'utiliser les informations dans whizbang.el
.
Trouvez l'entrée auto-mode-alist dans
.emacs
et ajoutez une ligne pour whizbang, comme :
Cela signifie qu'Emacs ira automatiquement dans la fonction
whizbang-mode
quand vous éditerez un fichier se terminant
par .wiz
.
Juste en-dessous, vous trouverez l'entrée font-lock-auto-mode-list.
Ajoutez whizbang-mode
à celle-ci comme ceci :
Cela signifie qu'Emacs autorisera toujours font-lock-mode
(ie colorisation de la syntaxe) pendant l'édition d'un fichier .wiz
.
Et c'est tout ce qui est nécessaire. S'il y a quoique ce soit que
vous voulez de fait automatiquement quand vous ouvrez un fichier
.wiz
, vous pouvez ajouter un whizbang-mode hook
(voir my-scheme-mode-hook
pour un exemple simple
qui ajoute auto-indent
, l'auto-indentation).
Ce document, ainsi que d'autres peut être téléchargé sur ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/
Pour toutes questions à propos de FreeBSD, lisez la
documentation avant de contacter
<questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez
<doc@FreeBSD.org>.