जब मैं बड़े दस्तावेजों को संपादित करता हूं, तो मैं यह देखना चाहूंगा कि एक अलग बफर में रूपरेखा (बिना सामग्री के) को देखकर मैं कहां हूं। जैसे जब आप पीडीएफ फाइल पढ़ते हैं तो बाईं ओर एक TOC होता है। (निचे देखो)
Org- मोड में रूपरेखा का विस्तार / पतन संभव है। लेकिन क्या एक अलग बफर में बाईं (या दाएं) में एक स्थिर रूपरेखा होना संभव है ताकि जब आप शीर्षकों पर क्लिक करें, तो दूसरा बफर उस स्थिति में चला जाए?
Kinda इस तरह, लेकिन org- मोड के लिए?
[संपादित करें] बहुत जो मैं चाहता के करीब है। पहेली का लापता टुकड़ा एक हेडिंग / (या वास्तव में किसी भी बिंदु) पर क्लिक करते समय उसी स्थान पर कूदना है।clone-indirect-buffer
इसके लिए मैंने कुछ कोड लिखने की कोशिश की है: अन्य क्लोन बफर को उसी बिंदु पर ले जाएं? (अप्रत्यक्ष बफ़र्स की सिंक स्थिति) (ऑर्ग-मोड)
लेकिन यह काम नहीं करता है अगर सामग्री ढह गई है। यदि वह काम करने के लिए बनाया जा सकता है, तो क्लोन-इनडरेक्ट-बफर इसका पूर्ण समाधान है।
[संपादित करें 2 समाधान]
ऊपर दिए गए लिंक में और नीचे दिए गए उत्तर में कोड जंपिंग बैक को आगे और पीछे हल करने के लिए गठबंधन करें।
;first call 'clone-indirect-buffer'. Then...
;This function works between buffer and it's clone.
(defun my/goto-same-spot-in-other-buffer ()
"Go to the same location in the other buffer. Useful for when you have cloned indirect buffers"
(interactive)
(let ((my/goto-current-point (point)))
(other-window 1)
(goto-char my/goto-current-point)
(when (invisible-p (point))
(org-reveal)))
)
;This function is a clone-to-buffer jump only:
; It does find the other buffer first thou instead of just jumping to the other
; window as does the function above.
(defun my/jump-to-point-and-show ()
"Switch to a cloned buffer's base buffer and move point to the
cursor position in the clone."
(interactive)
(let ((buf (buffer-base-buffer)))
(unless buf
(error "You need to be in a cloned buffer!"))
(let ((pos (point))
(win (car (get-buffer-window-list buf))))
(if win
(select-window win)
(other-window 1)
(switch-to-buffer buf))
(goto-char pos)
(when (invisible-p (point))
(show-branches)))))
(global-set-key (kbd "<s-mouse-1>") 'my/goto-same-spot-in-other-buffer)
(global-set-key (kbd "s-m") 'my/goto-same-spot-in-other-buffer)
(global-set-key (kbd "<C-s-mouse-1>") 'my/jump-to-point-and-show)
(global-set-key (kbd "C-s-m") 'my/jump-to-point-and-show)
org-sparse-tree-to-indirect-buffer
उदाहरण के लिए, हमें एक फ़ंक्शन की आवश्यकता होगी , लेकिन यह मौजूद नहीं है।
C-c C-x b
, याorg-tree-to-indirect-buffer
।