29 votes

Afficher le chemin du fichier dans la barre d'état

GNU Emacs 23.1.1

Je me demande est-il un moyen pour afficher le chemin d'accès du fichier dans la barre d'état, au lieu de simplement le nom de fichier.

- Je ouvrir plusieurs fichiers dans plusieurs répertoires, et parfois j'oublie ce répertoire qu'ils sont dans. Il est juste plus facile pour afficher la certains de le chemin d'accès dans la barre d'état si cela est possible.

Parfois mon répertoire, les chemins sont très longues.

par exemple

/projects/clientserver/trunk/src/client/client.c

comme ceci dans la barre d'état, juste l'affichage de la dernière deux répertoires.

/src/client/client.c

Merci beaucoup pour toutes ces suggestions,

35voto

Bryan Oakley Points 63365

Ce que vous demandez est de changer le nom de mémoire tampon. Vous pouvez personnaliser la manière dont les tampons sont nommés à l'aide de uniquify. Il dispose de plusieurs méthodes pour faire de l'unique tampon noms. Le choix le plus évident pour vous, c'est "en avant" ce qui donne exactement ce que vous demandez -- préfixe du nom de buffer avec une partie de la voie comme un préfixe.

Toutefois, cela pourrait avoir un effet indésirable. Normalement, tampon noms sont fait unique en ajoutant un suffixe. Quand vous faites c-x b' pour changer les tampons, si vous tapez "foo" et vous avez "foo" et "foo<1>", vous verrez le préfixe commun et avoir la capacité de fournir le suffixe. Donc, 'c-x b foo' vous permettra de faire de l'achèvement d'où vous pouvez voir une liste de tous les "foo" tampons.

Si vous utilisez uniqueify dans "en avant" de la mode, vous aurez de la mémoire tampon des noms de la forme "bar/foo" et "baz/foo". Maintenant, 'c-x b foo' ne vous prendra pas pour un foo tampon, ou vous permettre de faire l'achèvement d'obtenir une liste de foo tampons. Vous devez vous rappeler le préfixe est ajouté à chaque nom de mémoire tampon.

Mon conseil est d'utiliser le "reverse" mode de uniqify, qui utilise le chemin d'accès au répertoire comme un suffixe. C'est peut-être un peu moins intuitif, mais plus facile à utiliser dans la pratique. Alors maintenant, vous avez tampons comme "foo\bar" et "foo\baz", encore une fois, vous donnant l'avantage d'être en mesure de le faire "c-x b foo' et d'obtenir une liste de tous les tampons avec un nom de fichier "foo".

Alors, ajoutez à votre .emacs fichier et voir si vous aimez le comportement:

(require 'uniquify)
(setq uniquify-buffer-name-style 'reverse)

18voto

bokusama Points 128

Si vous êtes ok avec voyant le titre de la fenêtre au lieu de la barre d'état, que je préfère personnellement parce qu'il est moins encombré et est également utile lors de la commutation de windows avec Alt+TAB, etc., ensuite, vous pouvez ajouter quelque chose comme ce qui suit à votre .emacs le fichier sans avoir à installer des extensions:

;; Disable loading of "default.el" at startup,
;; in Fedora all it does is fix window title which I rather configure differently
(setq inhibit-default-init t)

;; SHOW FILE PATH IN FRAME TITLE
(setq-default frame-title-format "%b (%f)")

%b montrera le nom de mémoire tampon comme d'habitude, et %f le chemin complet du fichier. Vous pouvez bien sûr modifier l'ordre, ajouter du texte entre les deux, retirez %b, etc.

4voto

Thomas Kappler Points 1699

Uniquify devrait à peu près faire ce que vous voulez.

4voto

mortenee Points 61

Celui-ci fonctionne bien pour moi pour définir le chemin complet dans le cadre:

 (setq frame-title-format
  '(:eval
    (if buffer-file-name
        (replace-regexp-in-string
         "\\\\" "/"
         (replace-regexp-in-string
          (regexp-quote (getenv "HOME")) "~"
          (convert-standard-filename buffer-file-name)))
      (buffer-name))))
 

2voto

Chris McMahan Points 21

Voir la documentation de la variable 'frame-title-format' Il vous dirigera vers la variable 'mode-line-format' qui détaille les options de paramétrage de votre titre

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X