เมื่อฉันแก้ไขเอกสารขนาดใหญ่ฉันต้องการดูว่าฉันอยู่ที่ไหนโดยดูโครงร่าง (ที่ไม่มีเนื้อหา) ในบัฟเฟอร์แยกต่างหาก เช่นเดียวกับเมื่อคุณอ่านไฟล์ PDF จะมี TOC ทางด้านซ้าย (ดูด้านล่าง)
ในโหมด org เป็นไปได้ที่จะขยาย / ยุบเค้าร่าง แต่เป็นไปได้หรือไม่ที่จะมีโครงร่างแบบคงที่ในด้านซ้าย (หรือขวา) ในบัฟเฟอร์แยกต่างหากดังนั้นเมื่อคุณคลิกที่ส่วนหัวบัฟเฟอร์อื่นจะย้ายไปยังตำแหน่งนั้นหรือไม่?
เป็นเช่นนี้ แต่สำหรับโหมดองค์กรหรือไม่
[แก้ไข]อยู่ใกล้กับสิ่งที่ฉันต้องการ ชิ้นส่วนปริศนาที่ขาดหายไปคือการข้ามไปยังตำแหน่งเดียวกันเมื่อคลิกส่วนหัว / (หรือจุดใด ๆ จริงๆ)clone-indirect-buffer
สำหรับตอนนี้ฉันได้ลองเขียนโค้ดบางส่วนแล้ว: ย้ายไปยังบัฟเฟอร์ที่โคลนแล้วไปยังจุดเดียวกัน (ซิงค์ตำแหน่งของบัฟเฟอร์ทางอ้อม) (โหมดองค์กร)
แต่จะไม่ทำงานหากเนื้อหาถูกยุบ หากสามารถทำให้ทำงานได้ clone-inderect-buffer เป็นคำตอบที่สมบูรณ์สำหรับสิ่งนี้
[โซลูชันการแก้ไข 2]
รหัสในลิงก์ด้านบนและในคำตอบด้านล่างรวม niceley เพื่อแก้ปัญหาการกระโดดไปมา
;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
.