Lorsque je modifie des documents volumineux, j'aimerais voir où j'en suis en voyant le plan (sans contenu) dans un tampon séparé. Comme lorsque vous lisez un fichier PDF, il y a une table des matières sur la gauche. (voir ci-dessous)
En mode organisation, il est possible de développer / réduire le contour. Mais est-il possible d'avoir un contour statique à gauche (ou à droite) dans un tampon séparé afin que lorsque vous cliquez sur les en-têtes, l'autre tampon se déplace vers cette position?
Un peu comme ça, mais pour le mode org?
[Modifier]
Le clone-indirect-buffer
est très proche de ce que je veux. La pièce manquante du puzzle est de sauter au même endroit lorsque vous cliquez sur un titre / (ou n'importe quel point vraiment).
Pour cela, j'ai essayé d'écrire du code: Déplacer vers un autre tampon cloné au même point? (position de synchronisation des tampons indirects) (mode org)
Mais cela ne fonctionne pas si le contenu est réduit. Si cela peut fonctionner, le tampon cléron-indérect est une solution complète à cela.
[Solution Edit2]
Le code dans le lien ci-dessus et dans la réponse ci-dessous combine niceley pour résoudre les sauts d'avant en arrière.
;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
fonction, par exemple, mais elle ne semble pas exister.
C-c C-x b
, ouorg-tree-to-indirect-buffer
.