org-mode masz ostatni nagłówek?


10

org-mode ma ostatni nagłówek w bieżącym drzewie.

Powiedz, to mój plik org, potok wskazuje kursor:

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

Chciałbym uruchomić polecenie i mieć teraz mój kursor:

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

2
Ostatni nagłówek w pliku lub bieżące drzewo?
Zavior

@Zavior Dobre pytanie. Wyjaśniłem oryginalne pytanie.
Alex Baranosky,

Odpowiedzi:


9

W rzeczywistości istnieje org-end-of-subtreefunkcja, ale nie jest ona interaktywna. Możesz po prostu zdefiniować własne polecenie:

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

5

Oto polecenie, oparte na odpowiedzi @ itsjeyd, które jest odporne na wielkość liter na krawędzi wymienionych w komentarzu do tej odpowiedzi (to znaczy, kiedy jesteś na ostatnim nagłówku / poddrzewie):

(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

Nie wydaje mi się, żeby istniało w tym wbudowane polecenie, ale możesz je łatwo zdefiniować:

(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

I powiąż go z wybraną sekwencją klawiszy poprzez:

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

to miło, dziękuję za dzielenie się, ale może muszę wyjaśnić moje pytanie. To, czego naprawdę chcę, to przejść do końca bieżącego drzewa ...
Alex Baranosky,

@AlexBaranosky Tak, nie było to jasne ze sposobu, w jaki pierwotnie sformułowałeś pytanie. Daj mi
chwilę

@AlexBaranosky OK, powinno to zrobić. Dziękujemy za wyjaśnienie swoich wymagań!
itsjeyd

Sugeruję, aby nie używać C-c lwiązania. Jest to sugerowane wiązanie trybu org, org-store-linkponieważ jest ono bardzo ściśle powiązane z org-insert-link( C-c C-l).
Kaushal Modi

@kaushalmodi Tak, dziękuję. Poprawiłem swoją odpowiedź.
itsjeyd
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.