¿Hay alguna manera de hacer que las etiquetas funcionen bien con el ajuste de línea en el modo org de emacs?


9

Si el búfer es demasiado angosto, si hago una etiqueta para un encabezado, la cantidad de espacio en blanco antes de la etiqueta hace que la etiqueta pase más allá del final de la línea a una nueva línea (he visual-line-modeactivado). Esto dificulta leer y leer los titulares y desperdicia espacio en la pantalla vertical.

Creo que, idealmente, la etiqueta siempre se mostraría alineada a la derecha, independientemente del número real de espacios. ¿Hay una manera de hacerlo? Si no, ¿hay alguna otra forma de evitar el espacio desperdiciado?


2
¿Qué tal no hay una alineación correcta en absoluto ?: (setq org-tags-column 0) Vea la cadena de documentación para dicha variable: M-x describe-variable RET org-tags-column RET- " La columna a la que las etiquetas deben sangrarse en un título. Si este número es positivo, especifica la columna. Si es negativo, . los medios que las etiquetas deben ser flushright a esa columna por ejemplo, -80 funciona bien para una pantalla normal de 80 caracteres Cuando 0, etiquetas del lugar directamente después de texto de los titulares, con sólo un espacio en el medio.. "
lawlist

¡Gracias! He estado usando lo (setq org-tags-column 0)que es mejor que nada, pero todavía me gustaría tener una solución alineada a la derecha. Acabo de marcar mods para mover esto, ¡gracias por la sugerencia!

Respuestas:


3

He estado trabajando en algunos elisp para resolver un problema similar a este.

(defun nanny/org-realign-tag-column ()
  (interactive)
  (if (and (equal major-mode 'org-mode)
           (org-get-buffer-tags))
      ;; ignore `message' with flet so org-set-tags doesn't yell at us.
      (flet ((message (&rest args) 'ignore))
        (let ((col (- (- (window-width) 3)))
              (already-modified? (buffer-modified-p)))
          (setq org-tags-column col)
          (org-set-tags 4 t)
          ;; `org-set-tags' modifies the buffer, but I don't really care, so
          ;; mark the buffer as unmodified if it was unmodified previously.
          (if (not already-modified?)
              (set-buffer-modified-p nil))))))
(add-hook 'window-configuration-change-hook 'nanny/org-realign-tag-column)

Esto debería realinear la columna de etiquetas para que siempre tenga el tamaño perfecto.

En este momento no funciona correctamente si los anchos de ventana divididos horizontalmente no son iguales.


Probé esto, y parece que este código garantiza que las etiquetas siempre estén alineadas al ras con el lado derecho de la ventana, pero no toca las etiquetas en las líneas envueltas. Suponiendo que no me perdí algo, esto realmente no responde la pregunta, ya que esto último es sobre lo que estaba preguntando el OP.
Scott Weldon
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.