5.3. La ligne de mode

Chaque dernière ligne d'une fenêtre de texte est une ligne de mode, qui décrit ce qui arrive dans cette fenêtre. Lorsqu'il n'y a qu'une seule fenêtre de texte, la ligne de mode apparaît juste au dessus de la zone de répercussion ; c'est l'avant-dernière ligne du cadre. La ligne de mode commence et finit avec des tirets. Pour un affichage en texte seulement, la ligne de mode est en inversion vidéo si le terminal le permet ; pour un affichage graphique, la ligne de mode a une apparence de boîte 3D pour aider à la différencier.

La ligne de mode ressemble normalement à :

-cs:ch  tampon      (majeur mineur)--ligne--pos------

Elle donne des informations sur le tampon affiché dans la fenêtre : le nom du tampon, quels modes majeur et mineur sont utilisés, si le texte du tampon a été modifié, et quelle portion du tampon vous examinez.

ch contient deux étoiles ** si le texte du tampon a été édité (le tampon est "modifié"), ou - si le tampon n'a pas été édité. Pour un tampon en lecture seule, c'est %* si le tampon est modifié, et %% sinon.

tampon est le nom du tampon de la fenêtre. Dans la plupart des cas, c'est le nom du fichier que vous éditez. Chapter 17.

Le tampon affiché dans la fenêtre sélectionnée (celle où apparaît le curseur) est aussi le tampon sélectionné d'Emacs, c'est-à-dire celui où a lieu l'édition. Lorsque nous parlons de ce que fait une commande "au tampon", nous parlons du tampon couramment sélectionné.

ligne est L suivi de la ligne courante du point. C'est visible lorsque le mode de Numérotation de Ligne est actif (il l'est par défaut). Vous pouvez aussi afficher le numéro de colonne courante, en activant le mode de Numérotation de Colonne (qui n'est pas activé par défaut, car assez lent). Section 13.10.

pos précise s'il reste du texte au dessus du haut de la fenêtre, ou en dessous du bas. Si votre tampon est assez petit pour être entièrement visible dans la fenêtre, pos est all. Sinon, c'est Top si vous regardez le début du tampon, Bot si vous regardez la fin, ou nn%, où nn est le pourcentage du tampon au dessus du haut de la fenêtre.

majeur est le nom du mode majeur en application dans le tampon. A chaque instant, chaque tampon est dans un et seulement un des modes majeurs possibles. Les modes majeurs disponibles incluent le mode Fondamental (le moins spécialisé), le mode Texte, le mode Lisp, le mode C, le mode Texinfo, et beaucoup d'autres. Chapter 21, pour des détails sur les différences entre les modes, et comment en sélectionner un.

Certains modes majeurs affichent des informations supplémentaires après leur nom. Par exemple, les tampons Rmail affichent le numéro de message courant et le nombre total de messages. Les tampons de Compilation et de Shell affichent l'état du sous-processus.

mineur est une liste des modes mineurs activés à l'instant même dans le tampon de la fenêtre sélectionnée. Par exemple, Fill veut dire que le mode Auto Fill est actif. Abbrev veut dire que le mode Word Abbrev est actif. Ovwrt veut dire que le mode Overwrite est actif. Section 32.1, pour plus d'informations. Narrow veut dire que l'édition du tampon affiché est réduite à une portion seulement de son texte. Ce n'est pas réellement un mode mineur, mais y ressemble. Section 31.22. Def veut dire qu'une macro clavier est en train d'être définie. Section 32.3.

De plus, si Emacs est dans un niveau d'édition récursif, des crochets ([…]) apparaissent autour des parenthèses qui entourent les noms de modes. Si Emacs est dans un niveau d'édition récursif à l'intérieur d'un autre, des crochets doubles apparaissent, etc. Etant donné que les niveaux d'édition récursifs affectent Emacs globalement, et non seulement un tampon, les crochets apparaissent dans chacune des lignes de mode ou dans aucune d'elles. Section 31.26.

Les terminaux sans fenêtrage peuvent seulement afficher un seul cadre Emacs à la fois (Chapter 19). Sur de tels terminaux, la ligne de mode affiche le nom du cadre sélectionné, après ch. Le nom du cadre initial est F1.

cs indique le système de codage utilisé pour le fichier que vous éditez. Un tiret indique la situation par défaut : pas de conversion de code, à l'exception de la conversion de fin-de-ligne si le contenu du fichier le nécessite. = veut dire pas de conversion du tout. Les conversions de code non triviales sont représentées par des lettres diverses -- par exemple, 1 se réfère à l'ISO Latin-1. Section 20.6, pour plus d'informations. Si vous utilisez une méthode d'entrée, une chaîne du style i> est ajoutée au début de cs ; i identifie la méthode d'entrée. (Certaines méthodes d'entrée affichent + ou @ plutôt que >.) Section 20.4.

Lorsque vous utilisez un terminal texte (et non pas un système de fenêtres), cs utilise trois caractères pour décrire, respectivement, le système de codage pour l'entrée au clavier, le système de codage pour la sortie sur le terminal, et le système de codage pour le fichier que vous éditez.

Lorsque les caractères multi-octets ne sont pas activés, s n'appraît pas du tout. Section 20.2.

Les deux-points après cs peuvent se transformer en une autre chaîne dans certaines circonstances. Emacs utilise des caractères newline pour séparer les lignes d'un tampon. Certains fichiers utilisent des conventions différentes pour séparer les lignes : soit carriage-return linefeed (la convention MS-DOS), soit juste carriage-return (la convention Macintosh). Si le fichier du tampon utilise carriage-return linefeed, les deux-points se changent soit en barre oblique inverse (\) soit en (DOS), selon le système d'exploitation. Si le fichier utilise seulement carriage-return, les deux-points se changent soit en barre oblique (/) soit en (Mac). Sur certains systèmes, Emacs affiche (Unix) plutôt que les deux-points même pour les fichiers utilisant newline pour séparer les lignes.

Vous pouvez personnaliser l'affichage de la ligne de mode pour chacun des formats de fin de ligne en définissant chacune des variables eol-mnemonic-unix, eol-mnemonic-dos, eol-mnemonic-mac et eol-mnemonic-undecided comme une chaîne qui vous semble appropriée. Section 32.2, pour savoir comment définir des variables.

Section 13.10, pour les possibilités d'ajouter d'autres informations pratiques à la ligne de mode, comme le numéro de colonne courante du point, l'heure, et si du courrier est arrivé pour vous.

La ligne de mode est sensible à la souris ; lorsque vous déplacez la souris sur différentes parties de la ligne, Emacs affiche un texte d'aide vous indiquant ce que produirait un clic à cet endroit. Section 19.6.