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

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))

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)))

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)

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
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.