modalità org vai all'ultima intestazione?


10

modalità org passa all'ultima intestazione dell'albero corrente.

Di 'questo è il mio file org, pipe indica il cursore:

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

Vorrei eseguire un comando e ora il mio cursore si trova qui:

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

2
L'ultima intestazione nel file o l'albero corrente?
Zavior,

@Zavior Buona domanda. Ho chiarito la domanda originale.
Alex Baranosky,

Risposte:


9

In realtà c'è una org-end-of-subtreefunzione, ma non è interattiva. Puoi semplicemente definire il tuo comando:

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

5

Ecco un comando, basato sulla risposta di @ itsjeyd, che è robusto per il caso limite elencato nel commento a quella risposta (vale a dire, quando sei sull'ultima intestazione / sottostruttura):

(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

Non penso che ci sia un comando integrato per questo, ma puoi facilmente definirlo tu stesso:

(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

E associarlo a una sequenza chiave di vostra scelta tramite:

(define-key org-mode-map (kbd "C-c g") 'org-goto-last-heading)

questo è carino, grazie per la condivisione, tuttavia forse dovrei essere più chiaro nella mia domanda. Quello che voglio davvero è andare alla fine dell'albero attuale ...
Alex Baranosky,

@AlexBaranosky Sì, non era chiaro dal modo in cui hai formulato la domanda. Dammi un secondo per regolare il codice ...
itsjeyd

@AlexBaranosky OK, dovrebbe farlo. Grazie per aver chiarito le tue esigenze!
itsjeyd

Suggerirei di non usare il C-c lbinding. È la modalità organizzativa suggerita per il binding in org-store-linkquanto è strettamente correlata a org-insert-link( C-c C-l).
Kaushal Modi,

@kaushalmodi Sì, grazie. Ho modificato la mia risposta.
itsjeyd
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.