org-mode goto último título?


10

org-mode goto último título na árvore atual.

Diga Este é o meu arquivo organizacional, o pipe indica o cursor:

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

Gostaria de executar um comando e ter meu cursor agora aqui:

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

2
Último título do arquivo ou a árvore atual?
Zavior 9/11/14

@Zavior Boa pergunta. Esclareci a pergunta original.
Alex Baranosky

Respostas:


9

Na verdade, existe uma org-end-of-subtreefunção, mas não é interativa. Você pode simplesmente definir seu próprio comando:

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

5

Aqui está um comando, com base na resposta de @ itsjeyd, que é robusto para o caso de borda listado no comentário dessa resposta (ou seja, quando você está no último cabeçalho / subárvore):

(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

Eu não acho que exista um comando interno para isso, mas você pode facilmente definir um:

(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 vincule-o a uma sequência-chave de sua escolha, via:

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

isso é legal, obrigado por compartilhar, no entanto, talvez eu precise ser mais claro na minha pergunta. O que eu realmente quero é ir até o fim da árvore atual ...
Alex Baranosky

@AlexBaranosky Sim, isso não ficou claro pela maneira como você originalmente formulou a pergunta. Dá-me um segundo para ajustar o código ...
itsjeyd

@AlexBaranosky OK, isso deve ser feito. Obrigado por esclarecer suas necessidades!
precisa saber é o seguinte

Eu sugiro não usar C-c lligação. É o vínculo sugerido para o modo organizacional org-store-link, pois está muito relacionado a org-insert-link( C-c C-l).
precisa

@kaushalmodi Sim, obrigado. Eu ajustei minha resposta.
itsjeyd
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.