org-mode goto último encabezado?

10

org-mode pasa al último encabezado en el árbol actual.

Digamos que este es mi archivo org, la tubería indica el cursor:

* Top|
** Apple
** Banana
** Cherry
* Middle
** Ape
** Bear
** Cat

Me gustaría ejecutar un comando y tener mi cursor ahora aquí:

* Top|
** Apple
** Banana
** Cherry|
* Middle
** Ape
** Bear
** Cat
Alex Baranosky
fuente
2
¿Último encabezado en el archivo o el árbol actual?
Zavior
@Zavior Buena pregunta. He aclarado la pregunta original.
Alex Baranosky

Respuestas:

9

En realidad hay una org-end-of-subtreefunción, pero no es interactiva. Simplemente puede definir su propio comando:

(defun goto-last-heading ()
  (interactive)
  (org-end-of-subtree))
MonsieurBanana
fuente
5

Aquí hay un comando, basado en la respuesta de @ itsjeyd, que es robusto para el caso límite que aparece en el comentario a esa respuesta (es decir, cuando está en el último encabezado / subárbol):

(defun org-end-of-subtree ()
  (interactive)
  (let ((org-special-ctrl-a/e t))
    (if (condition-case nil
            (outline-forward-same-level 1)
          (error t))
        (progn
          (goto-char (point-max))
          (outline-back-to-heading))
      (outline-previous-visible-heading 1))
    (org-end-of-line 1)))
Dan
fuente
4

No creo que haya un comando incorporado para esto, pero usted mismo puede definirlo fácilmente:

(defun org-goto-last-heading-in-tree ()
  (interactive)
  (org-forward-heading-same-level 1)     ; 1. Move to next tree
  (outline-previous-visible-heading 1)   ; 2. Move to last heading in previous tree
  (let ((org-special-ctrl-a/e t))        ; 3. Ignore tags when
    (org-end-of-line)))                  ;    moving to the end of the line

Y vincúlelo a una secuencia de teclas que elija a través de:

(define-key org-mode-map (kbd "C-c g") 'org-goto-last-heading)
itsjeyd
fuente
Esto es bueno, gracias por compartir, sin embargo, tal vez necesito ser más claro en mi pregunta. Lo que realmente quiero es ir al final del árbol actual ...
Alex Baranosky
@AlexBaranosky Sí, eso no estaba claro por la forma en que redactó originalmente la pregunta. Dame un segundo para ajustar el código ...
itsjeyd
@AlexBaranosky OK, eso debería hacerlo. ¡Gracias por aclarar sus requisitos!
itsjeyd
Sugeriría no usar el C-c lenlace. Es el enlace sugerido para el org-store-linkmodo de organización, ya que está muy relacionado con org-insert-link( C-c C-l).
Kaushal Modi
@kaushalmodi Sí, gracias. Ajusté mi respuesta.
itsjeyd