J'utilise pas mal de modes mineurs et généralement je sais quel mode mineur est activé dans chaque mode majeur. Si je veux vraiment voir la liste complète, je peux courir C-h v minor-mode-list.
En même temps, ma ligne de mode est vraiment obstruée, donc quand je divise verticalement le cadre, parfois je ne peux pas lire la fin de la ligne de mode.
Question réelle: comment désactiver l'affichage de la liste des modes mineurs dans la ligne de mode? Par exemple, cela peut maintenant ressembler à ceci:
-:--- main.c All (7,12) (C/l FlyC SScr Abbrev Fill) [main] 16:19 0.45
Je veux que cela paraisse plus concis:
-:--- main.c All (7,12) (C/l) [main] 16:19
mode-line
minor-mode
Mark Karpov
la source
la source
Réponses:
Le mode Diminuer (disponible dans Melpa) le fera.
la source
(diminish 'projectile-mode "p")
(eval-after-load "filladapt" '(diminish 'filladapt-mode))
(en utilisant l'exemple du Wiki Emacs) et pas seulement(diminish 'filladapt-mode)
comme suggéré par la réponse. Vous pouvez uniquement utiliser la version courte si le mode est garanti d'être déjà chargé.Comme l'a commenté mbork, vous pouvez utiliser delicious.el pour modifier ou désactiver sélectivement le texte du mode mineur (et même majeur) dans la ligne de mode.
L'un des avantages est qu'il prend en charge le
eval-after-load
(que vous devez écrire manuellement avec diminish.el dans la plupart des cas d'utilisation), ce qui rend la configuration plus propre. Vous avez toujours besoin des mêmes informations - le nom du mode et la bibliothèque qui l'implémente (qu'Emacs vous dira si vous lui posez des questions sur le mode) - mais vous pouvez tout résumer dans un seul formulaire:(Ou suivez le lien ci-dessus pour des exemples d'utilisation réels.)
Je recommande cette approche, parce que même si vous ne voulez pas le plus du texte en mode mineur plus léger, il y a une bonne chance que vous trouverez quelques - uns d'entre eux utiles (et vous pouvez toujours modifier ceux - là pour être plus courte).
Si vous voulez vraiment éliminer tout le texte plus léger en mode mineur (et encore une fois, je ne le recommande pas), vous pouvez modifier la
mode-line-modes
variable. Les variables de la ligne de mode ont changé il y a quelque temps, vous pouvez donc utiliserM-x find-variable RET mode-line-modes RET
puis adapter manuellement votre définition par défaut, en éditant la section concernantminor-modes-alist
.Bien sûr, vous devrez le maintenir, ce qui n'est pas si flash, vous préférerez donc peut-être remplacer le
minor-mode-alist
symbole dans la valeur existante. Ce qui suit est quelque peu spécifique à l'implémentation, mais certainement plus agréable que le réglagemode-line-modes
dans son intégralité, et vous pouvez l'activer et le désactiver.la source
load-path
etrequire
. J'avais l'habitude d '«installer» tous les packages Emacs de cette façon lorsque j'ai commencé à l'utiliser il y a un an.delight
à MELPA.delight
est dans GNU ELPA ces jours-ci, et non dans MELPA (mentionné au cas où quelqu'un serait confus par les commentaires précédents).Utilisez Rich-minority avec config:
J'ai aussi la pensée comme toi, mais je raccourcis la ligne de mode plus paranoïaque :
Maintenant, je peux toujours voir la notification en mode Twitter et le minuteur du mode Org: D
la source
Voici ce qui a fonctionné pour moi:
Grâce au commentaire de Drew , j'ai amélioré la réalisation de cette solution. Maintenant, il utilise les avantages des listes d'associations et devrait être un peu plus efficace ;-)
la source
minor-mode-alist
être un alist est que les entrées peuvent être ajoutées et supprimées à la tête à l' ombre et les entrées unshadow plus bas la liste qui ont la même clé. Si vous voulez faire le genre de chose que vous faites, changez simplement la première entrée (trouvée en utilisantassoc
, modifiée en utilisantsetcar
etc.) pour chaque clé, afin de ne pas perdre cette fonctionnalité utile prévue.Je vais également lancer ma solution dans le ring:
modeline-set-lighter
vous permet de régler le plus léger d'un mode mineur sur n'importe quelle chaîne que vous aimez.modeline-remove-lighter
vous permet de supprimer complètement le briquet d'un mode mineur.Ensuite, à la fin de mon fichier init, j'appelle simplement ces fonctions pour les modes mineurs dont je souhaite modifier les briquets:
la source
Vous pouvez également supprimer sans ambages tous les modes mineurs, de la manière suivante:
Cela permettra également de travailler pour les modes mineurs définis à l'avenir, car il enlève juste complètement l'utilisation de
minor-mode-alist
dumode-line-format
.la source
Il convient de noter que les
use-package
supports diminuent et ravissent . Si vous l'utilisez pour gérer vos packages, vous pouvez masquer les modes mineurs dans la ligne de mode en ajoutant les mots clés: diminuer ou: ravir.la source
Je ne vois pas l'intérêt d'installer des extensions nommées fantaisies pour quelque chose d'aussi simple que:
Par exemple:
Vous pouvez faire toutes sortes de choses de cette façon. Le remplacement du texte est évident à partir de ce qui précède. Aussi, par exemple, pour mettre le mode flymake au début de la liste:
la source