org-mode goto heading terakhir?

10

org-mode goto heading terakhir di pohon saat ini.

Katakan Ini adalah file-org saya, pipa menunjukkan kursor:

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

Saya ingin menjalankan perintah dan kursor saya sekarang ada di sini:

* Top|
** Apple
** Banana
** Cherry|
* Middle
** Ape
** Bear
** Cat
Alex Baranosky
sumber
2
Judul terakhir dalam file, atau pohon saat ini?
Zavior
@ Zavior Pertanyaan bagus. Saya sudah mengklarifikasi pertanyaan aslinya.
Alex Baranosky

Jawaban:

9

Sebenarnya ada org-end-of-subtreefungsi, tetapi tidak interaktif. Anda bisa mendefinisikan perintah Anda sendiri:

(defun goto-last-heading ()
  (interactive)
  (org-end-of-subtree))
Monsieur Banana
sumber
5

Berikut adalah perintah, berdasarkan pada jawaban @ itsjeyd, yang kuat untuk kasus tepi yang tercantum dalam komentar untuk jawaban itu (yaitu, ketika Anda berada di pos / subtree terakhir):

(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
sumber
4

Saya tidak berpikir ada perintah bawaan untuk ini, tetapi Anda dapat dengan mudah mendefinisikannya sendiri:

(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

Dan ikat ke urutan kunci pilihan Anda melalui:

(define-key org-mode-map (kbd "C-c g") 'org-goto-last-heading)
itu hanya
sumber
ini bagus, terima kasih sudah berbagi, tetapi mungkin saya perlu lebih jelas dalam pertanyaan saya. Yang benar-benar saya inginkan adalah pergi ke ujung pohon saat ini ...
Alex Baranosky
@AlexBaranosky Ya, itu tidak jelas dari cara Anda awalnya mengucapkan pertanyaan. Beri saya waktu sebentar untuk menyesuaikan kode ...
itsjeyd
@AlexBaranosky OK, itu harus melakukannya. Terima kasih telah menjelaskan kebutuhan Anda!
itsjeyd
Saya sarankan tidak menggunakan C-c lpenjilidan. Ini adalah mode org yang disarankan mengikat karena org-store-linksangat terkait erat dengan org-insert-link( C-c C-l).
Kaushal Modi
@kaushalmodi Ya, terima kasih. Saya menyesuaikan jawaban saya.
itsjeyd