Quería ver diferentes partes de un búfer en dos cuadros diferentes, ya que tengo dos monitores de diferentes formas que no puedo abarcar fácilmente un solo cuadro. Un poco de google me llevó a usar clone-indirect-buffer
, que funciona muy bien.
Sin embargo, buffer-file-name
para el nuevo búfer es nil
. ¿Cómo puedo determinar de manera confiable el nombre de archivo del búfer original (del que este es un clon)?
buffers
files
indirect-buffers
camino
fuente
fuente
C-x b
foco cambia al marco que ya muestra el búfer.Respuestas:
Mantengo el manual de Emacs y el manual de Elisp en marcado rápido para preguntas como estas.
Del manual de Elisp sobre memorias intermedias indirectas :
Probablemente quieras
(buffer-file-name (buffer-base-buffer))
o algo así.fuente
defadvice
opción. ;)Esta es una respuesta indirecta a su pregunta: no estoy seguro de cómo averiguar cuál es el nombre de archivo del búfer original sin hacer lo siguiente. (EDITAR: la respuesta de @ purple_arrows completa los detalles: puedes usarla
buffer-base-buffer
. Acepta esa respuesta como la más correcta).El siguiente consejo asociará el nombre de archivo del búfer original con cada uno de sus clones indirectos:
Ahora, cada uno de los clones tiene el mismo nombre de archivo que el búfer original.
Utilizo mucho los búferes clonados indirectamente y me gusta poder, por ejemplo, guardar el archivo asociado cuando estoy trabajando con cualquiera de los búferes, en lugar del original. Este consejo fue mi solución para ese flujo de trabajo deseado.
fuente