Je voudrais afficher la sortie de (getenv "HOSTNAME") quelque part dans ma ligne de mode. Mon mode d'affichage est réglé sur 't', donc j'affiche déjà l'heure, le niveau de chargement et un drapeau de courrier dans la ligne de mode. Y a-t-il un moyen facile d'obtenir le nom d'hôte ici aussi? Je voudrais avoir ceci parce que je suis ssh'd dans 3 machines distantes, exécutant tous emacs d'un ensemble commun de dossiers d'initialisation, et je voudrais un moyen rapide et facile de savoir quelle machine je ' Je travaille sur.Emacs: ajouter le nom d'hôte à la ligne de mode?
Répondre
J'ai essayé les réponses ci-dessus et n'a pas été particulièrement réussi (je suis en cours d'exécution emacs 23). Après beaucoup de recherches, je me suis retrouvé juste mettre system-name
dans mon mode-line-format
comme suit:
;; Set the modeline to tell me the filename, hostname, etc..
(setq-default mode-line-format
(list " "
; */% indicators if the file has been modified
'mode-line-modified
"--"
; the name of the buffer (i.e. filename)
; note this gets automatically highlighted
'mode-line-buffer-identification
"--"
; major and minor modes in effect
'mode-line-modes
; if which-func-mode is in effect, display which
; function we are currently in.
'(which-func-mode ("" which-func-format "--"))
; line, column, file %
'mode-line-position
"--"
; if vc-mode is in effect, display version control
; info here
`(vc-mode vc-mode)
"--"
; hostname
'system-name
; dashes sufficient to fill rest of modeline.
"-%-"
)
)
J'ai exposé en détail et dans d'autres choses que je découvre sur le emacs modeline dans un posting on my website.
Pour construire sur Sean answer lumineux, vous pouvez le faire en particulier:
(let ((pos (memq 'mode-line-modes mode-line-format)))
(setcdr pos (cons (getenv "HOSTNAME") (cdr pos))))
Cela suppose que 'mode-line-modes
est une partie de votre 'mode-line-format
, qui est par défaut. Comme vous modifiez la liste pointée par la variable 'mode-line-format
, vous n'avez pas besoin de définir la valeur par défaut. Si vous définissez la variable elle-même, vous auriez à faire quelque chose comme:
(setq-default mode-line-format (build-list-that-contains-(getenv "HOSTNAME")))
Vous pouvez également ajouter indésirable à la variable global-mode-string
:
(defvar my-hostname (concat " " (system-name)))
(setq global-mode-string (append global-mode-string '(my-hostname)))
Ces deux lignes sont probablement suffisantes pour quelque chose de statique comme votre nom d'hôte.
Si vous avez quelque chose de plus dynamique, vous pouvez configurer un temporisateur avec run-at-time
pour mettre à jour la chaîne (my-hostname
dans cet exemple). Jetez un oeil à la définition de display-time-mode
pour un bon petit exemple.
- 1. Commentaires multilignes en mode Emacs
- 2. mode palangres dans Emacs
- 3. Comment désactiver le mode vhdl dans emacs?
- 4. Emacs JavaFX Mode de script?
- 5. Meilleur mode Mercurial pour Emacs?
- 6. Emacs org-mode - tâches dépendantes
- 7. Erlang emacs mode - setting outdir
- 8. déterminer le terminateur de ligne dans Emacs
- 9. Emacs org-mode publication Agenda
- 10. Déboguer le flash avec le mode gdb dans Emacs
- 11. Emacs defadvice sur la fonction en mode python
- 12. emacs: HideShow fonctionne-t-il avec xml-mode (sgml-mode)?
- 13. Comment arrêter le formatage automatique en mode emacs cperl?
- 14. Comment ajouter une ligne en mode grille asp.net
- 15. Dans VisualStudio 2008, le mode emacs - comment activer "écraser"?
- 16. Problème d'utilisation git et le mode Emacs sous Windows
- 17. Comment puis-je ajouter le nom d'un fichier à la fin de chaque ligne de ce fichier?
- 18. Emacs org-mode agenda filtrer par propriétaire
- 19. Comment ajouter un mode édition à jEdit?
- 20. lien réel en html-mode emacs
- 21. Onglets en mode HTML dans Emacs
- 22. Emacs 23 se bloque sur le mode python lors de la saisie bloc de chaîne "" »
- 23. Définition du numéro de ligne à une variable dans Emacs
- 24. Enroulement de ligne dans emacs * compilation * buffer
- 25. Ajouter une ligne à la table lors de l'exécution
- 26. ajouter une ligne de filtre à gridview
- 27. Insérer des espaces à la place de TAB dans Emacs viper-mode
- 28. ajouter tar/gzip à la ligne de commande Windows
- 29. Comment passez-vous les arguments (ie le nom binaire) à la commande Emacs gdb?
- 30. Ajouter un séparateur de ligne à Gridview