org-mode – Cómo configurar el modo principal de acuerdo con el nombre del búfer para búferes que no son archivos

Pregunta:

Algunos búferes son creados por emacs y se configuran en modo fundamental, como los resultados de Org-Babel . Creo que es más conveniente ponerlos en modo especial, que se puede cerrar con la tecla q. ¿Cómo se configura el modo para esos búferes automáticos o si el nombre contiene *?

Los comentarios de Lawlist y Drew a continuación muestran posibles formas de hacerlo, lo que quiero es un búfer de visualización especial para algunos búferes con nombres. La forma adecuada, por supuesto, es encontrar la función para crear el búfer y cambiarla en el paquete, pero no se adapta a todos.

Dado que special-display-regexps es obsoleto, ¿alguien puede ayudarme en un display-buffer-alist con una función personalizada para buscar Org-Babel Results y configurarlo en modo especial?

Gracias por tu ayuda.

Respuesta:

Gracias a Lawlist. Finalmente lo hice funcionar.

(defun db-regexp-match-p (regexps string)
  (and string
       (catch 'matched
         (let ((inhibit-changing-match-data t))
           (dolist (regexp regexps)
             (when (string-match regexp string)
               (throw 'matched t)))))))
(defvar special-buffer-regexp
  '("[*].*results.*[*]" "[*].*out.*[*]")
  "Regexp of special mode buffer names")
(defun set_special_mode (buffer alist)
  (interactive)
  (if (db-regexp-match-p special-buffer-regexp (buffer-name buffer))
  (with-current-buffer buffer 
      (special-mode))))

(add-to-list 'display-buffer-alist '(".*" . (set_special_mode)))

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top

web tasarım