Je voulais regarder différentes parties d'un tampon dans deux images différentes, car j'ai deux moniteurs de formes différentes sur lesquelles je ne peux pas facilement couvrir une seule image. Une recherche sur Google m'a amené à utiliser clone-indirect-buffer
, ce qui fonctionne bien.
Cependant, buffer-file-name
pour le nouveau tampon est nil
. Comment puis-je déterminer de manière fiable le nom de fichier du tampon d'origine (dont celui-ci est un clone)?
buffers
files
indirect-buffers
rneatherway
la source
la source
C-x b
alors le focus passe au cadre montrant déjà le tampon.Réponses:
Je garde le manuel Emacs et le manuel Elisp sur la numérotation rapide pour des questions comme celles-ci.
Du manuel Elisp sur les tampons indirects :
Vous voulez probablement
(buffer-file-name (buffer-base-buffer))
quelque chose comme ça.la source
defadvice
Mais j'aime toujours mon option. ;)Il s'agit d'une réponse indirecte à votre question - je ne sais pas comment déterminer le nom de fichier du tampon d'origine sans effectuer les opérations suivantes. (EDIT: la réponse de @ purple_arrows remplit les détails: vous pouvez utiliser
buffer-base-buffer
. Veuillez accepter cette réponse comme la plus correcte.)Le conseil suivant associera le nom de fichier du tampon d'origine à chacun de ses clones indirects:
Maintenant, chacun des clones a le même nom de fichier que le tampon d'origine.
J'utilise beaucoup de tampons clonés indirectement et j'aime pouvoir, par exemple, enregistrer le fichier associé lorsque je travaille avec l' un des tampons, plutôt que l'original. Ce conseil était ma solution à ce flux de travail souhaité.
la source