2012-10-03 15 views
13

Estoy usando emacs org-mode para varios propósitos. La funcionalidad más común es marcar mis tareas con las etiquetas especiales TODO & DONE. ¿Hay alguna manera de agregar etiquetas personalizadas (por ejemplo, IN_PROGRESS) y resaltarlo con un color diferente?Agregar marcadores personalizados a emacs org-mode

Además, sería bueno, si esta etiqueta rodar en el mismo buffer como TODO y DONE así que puedo cambiar entre ellos mediante el uso de las mismas teclas de acceso rápido.

+0

posible duplicado de [Ajustes de fuente negrita para palabras clave TODO en modo org]] (http://stackoverflow.com/questions/7861109/bold-font-settings-for -todo-keywords-in-org-mode) –

Respuesta

15

utilizo el siguiente en mi init.el, que establece los estados de tareas adicionales y sus estilos para todos los archivos organigramas:

(setq org-todo-keyword-faces 
     '(
     ("NOT-TODO" . (:foreground "blue" :weight bold)) 
     ("IF-TIME" . (:foreground "yellow" :weight bold)) 
     ("NOT-REPRO" . (:foreground "purple" :weight bold)) 
     )) 

(setq org-todo-keywords 
     '((sequence "TODO" "NOT-TODO" "NOT-REPRO" "IF-TIME" "DONE"))) 
+0

gracias, exactamente lo que necesito – mishadoff

+0

¡Gracias! ¿Para qué usas NOT-TODO? ¿por qué no simplemente eliminar la palabra clave? –

+1

@SamHasler, 'NOT-TODO' es un poco como' WONTFIX', que indica un elemento de acción resuelto (en lugar de un título que nunca se marcó para la acción). Originalmente comencé a usarlo cuando trabajaba con probadores que presentaban problemas que a veces terminaban en conflicto con otros requisitos o restricciones. Ahora lo uso en mis propios proyectos antes de archivar un artículo que cambié de opinión, especialmente si lo cronometré en cualquier momento. Siempre debe incluir una explicación, y ahora la uso con '(@)' para que se me pida una nota al configurarla. – harpo

14

Puede hacer como esto en el principio del archivo:

#+TODO: TODO IN-PROGRESS WAITING DONE 

Pulse C-C C-C en esa línea para actualizar la configuración (no es necesario para las cargas posteriores del archivo), y todo debe ser alegre.

Como se explicó here.

+0

buen punto si solo necesitamos una personalización de archivo – mishadoff

5

Para agregar palabras clave sin modificar el archivo de organización específico, puede modificar org-todo-keywords.

Consulte the org manual para obtener más información.

13

utilizo el siguiente para producir palabras clave TODO que se ven un poco como botones para hacer se destacan más claramente en mis esquemas y agenda. Este estilo vino de la lista de correo si mi memoria me sirve.

(setq org-todo-keywords 
    '((sequence "TODO" 
     "MAYBE" 
     "NEXT" 
     "STARTED" 
     "WAITING" 
     "DELEGATED" 
     "|" 
     "DONE" 
     "DEFERRED" 
     "CANCELLED"))) 

    (setq org-todo-keyword-faces 
    '(("PROJ" :background "blue" :foreground "black" :weight bold :box (:line-width 2 :style released-button)) 
     ("TODO" :background "red1" :foreground "black" :weight bold :box (:line-width 2 :style released-button)) 
     ("NEXT" :background "red1" :foreground "black" :weight bold :box (:line-width 2 :style released-button)) 
     ("STARTED" :background "orange" :foreground "black" :weight bold :box (:line-width 2 :style released-button)) 
     ("WAITING" :background "yellow" :foreground "black" :weight bold :box (:line-width 2 :style released-button)) 
     ("DEFERRED" :background "gold" :foreground "black" :weight bold :box (:line-width 2 :style released-button)) 
     ("DELEGATED" :background "gold" :foreground "black" :weight bold :box (:line-width 2 :style released-button)) 
     ("MAYBE" :background "gray" :foreground "black" :weight bold :box (:line-width 2 :style released-button)) 
     ("APPT" :background "red1" :foreground "black" :weight bold :box (:line-width 2 :style released-button)) 
     ("DONE" :background "forest green" :weight bold :box (:line-width 2 :style released-button)) 
     ("CANCELLED" :background "lime green" :foreground "black" :weight bold :box (:line-width 2 :style released-button)))) 

Esto hace que mi programa se parece a lo siguiente: enter image description here

+0

Empecé a usar sus palabras clave y caras, aquí hay un fragmento para que mis antiguos estados específicos de archivo sigan siendo de su estilo: '(set-face-attribute 'org-todo nil : fondo" red1 " : primer plano "negro" : peso 'negrita : caja' (: ancho de línea 2: botón de estilo liberado)) '. Si me quedan algunos estados 'DONE', puedo solucionarlos de manera similar con' (set-face-attribute 'org-done ... '. –

1

Como alternativa a la de grano fino

(setq org-todo-keyword-faces 
     '(... 
     ) 

que le permite hacer los ajustes para cada estado TODO, es posible que Considere un enfoque de dicotomía, que esencialmente hace una cara para cada uno de los dos grupos en cualquier lado de la tubería |, por ejemplo

(set-face-attribute 'org-todo nil 
        :foreground "#AFD8AF" 
        ) 
(set-face-attribute 'org-done nil 
        :foreground "#CC9393" 
        ) 

(Esta elección del color es mi interruptor de corriente en zenburn tema.) Es decir, estos se aplican, respectivamente, para los grupos de

TODO1 TODO2 ... TODOk | DONE1 DONE2 ... DONEn 

Así, por ejemplo, enter image description here


ETA:

Desde entonces tuve que luchar con el hecho de que varios niveles de titulares de modo orgánico tienen varios colores, y era demasiado inconveniente tratar de encontrar pares de colores (para org-todo y org-done) que contrastaran muy bien con todos los niveles de titulares. Además, tendría que ocuparse de cambiar los temas de color de Emacs, ya que el zenburn de bajo contraste puede ser menos apropiado a medida que cambia la temporada.

Es mucho más fácil simplemente invertir los colores predeterminados.El borde del rectángulo resultante es un poco incómodo, por lo que el borde ayuda a que se vea un poco más natural. Entonces, llego a un esquema muy parecido al de Stuart Hickinbottom.

Así que ahora tienen

(set-face-attribute 'org-todo nil 
        :box '(:line-width 2 
          :color "grey75" 
          :style released-button) 
        :inverse-video t 
        ) 
(set-face-attribute 'org-done nil 
        :box '(:line-width 2 
          :color "grey75" 
          :style released-button) 
        :inverse-video t 
        ) 
(set-face-attribute 'org-priority nil 
        :inherit font-lock-keyword-face 
        :inverse-video t 
        :box '(:line-width 2 
          :color "grey75" 
          :style released-button) 
        ) 

Esto produce, la elección del color fichero init (load-theme 'deeper-blue t),

enter image description here

(rojo como en PARADA! Hacer esto! Verde como en que son libres de ve y juega.)

Cuestiones relacionadas