Le nœud Org Manual sur Motion donne une description quelque peu laconique de la commande intégrée org-goto
(liaison par défaut:) C-c C-j
, dont le comportement peut facilement être personnalisé pour obtenir l'effet souhaité:
- Consultez la documentation de la variable personnalisable répertoriée à la fin de ce noeud manuel:
C-h v org-goto-interface RET
Si vous êtes heureux de renoncer au org-goto
comportement par défaut de recherche incrémentielle dans le contour du tampon, vous pouvez passer à la sélection d'un titre via l'achèvement:
(setq org-goto-interface 'outline-path-completion)
Les utilisateurs de packages de complétion tels que ido
/ ivy
/ helm
voudront probablement modifier le paramètre suivant afin de voir le chemin cible entier à la fois:
(setq org-outline-path-complete-in-steps nil)
Voir ici pour plus de discussion.
Cette approche a l'avantage (sur l' utilisation, par exemple, la helm
fonctionnalité spécifique de ) de travailler avec tous les cadres d'achèvement qui se branchent dans la valeur par défaut completing-read
, y compris, comme je peux personnellement confirmer, ivy
.
ADDENDA:
Lorsque vous utilisez l' outline-path-completion
interface de la org-goto
commande comme décrit dans cette réponse, la variable personnalisable org-goto-max-level
détermine la profondeur maximale des titres à offrir.
ÉDITER:
J'ai trouvé une question plus ancienne et pertinente avec des réponses utiles: /programming//q/15011703/3084001
CLARIFICATION (comme demandé par le commentaire d'Att Righ):
La définition org-goto-interface
de l'une des deux valeurs reconnues ne signifie pas que vous sacrifiez l'interface alternative. L'appel org-goto
avec un argument préfixe (c'est-à C-u C-c C-j
- dire ou C-u M-x org-goto RET
) sélectionne automatiquement l'interface alternative pour l'achèvement en cours. De cette façon, vous pouvez définir org-goto-interface
l'interface que vous êtes susceptible d'utiliser le plus souvent et utiliser l'argument préfixe lorsque vous souhaitez changer temporairement de comportement. Si même cela ne répond pas à vos besoins, vous pouvez toujours écrire votre propre wrapper org-goto
, selon l'exemple d'Att Righ.
(defun my-org-goto () (let ((org-goto-interface 'outline-path-completion)) (org-goto)))
outline-path-completion
ne fonctionne pas bien avechelm
sur ma boîte (il ne peut pas terminer un niveau - atteint en appuyant sur<TAB>
sihelm
est désactivé: voirhelm-completing-read-handlers-alist
)let
-expressions peut être utilisé pour tout type de liaison temporaire; cette question concerne davantage les paramètres / fonctionnalités / packages pertinents. Une manière plus générale de réaliser un changement temporaire d'interface consiste à appelerorg-goto
avec un argument préfixe. J'ajouterai une note à cette réponse.ivy
, mais uniquement lors du rechargement et avec un paramètre de profondeur incorrectorg-refile-targets
, car ilorg-goto
adapte temporairement les paramètres pertinents pour le refile en fonction de ses besoins. Malheureusement, je ne suis pas en mesure d'explorer leshelm
fonctionnalités pour le moment, peut-être qu'un autre utilisateur peut sonner?worf
oucounsel-imenu
.J'utilise le package worf , mais je ne lie qu'une seule de ses fonctions:
worf-goto
vous donne une liste des en-têtes du tampon dans le mini tampon, que vous pouvez ensuite filtrer.Le paquet est fait par l'auteur de lierre , donc si vous aimez le lierre, vous aimerez peut-être worf.
Quelques extraits pertinents de worf.el:
la source
counsel-imenu
l'achèvement fonctionne mieux que worf mais ne peut pas rechercher dans les titres des organisations de niveau 1. worfs recherche tous les niveaux, donc je pense que c'est ce que je recherche.org-imenu-depth
une valeur supérieure à la valeur par défaut de 2?Je trouve le helm-org-rifle particulièrement agréable. Tout ce qui prend la source imenu pourra également afficher les en-têtes (par exemple, Helm avec imenu).
la source
helm-org-rifle
recherche le contenu des entrées de l'organisation en plus de leurs titres. Je n'ai trouvé aucun moyen de modifier ce comportement.helm-org-rifle
référencesorg-search-goto
qui recherchent tous les titres mais ne prennent pas vraiment en charge la recherche floue.helm-org-rifle
ne recherche pas uniquement les titres. Il pourrait être développé pour cela, mais il n'y a pas de raison de le faire, carhelm-org-in-buffer-headings
, etc. existent dans Helm lui-même.imenu
est intégré à Emacs et peut être associé à helm / ivy pour fournir la recherche floue requise. Je recommanderais cependanthelm-org-rifle
si vous utilisez la barre.la source
Auto-promotion flagrante, mais vous aimerez peut-être essayer orgnav . Quel est mon type de projet alpha (mais activement utilisé par moi) à cet effet.
orgnav recherche les titres plutôt que le contenu, peut varier la profondeur de la recherche, rechercher les sous-arbres plutôt que le fichier entier (bien que cela puisse également être réalisé avec un rétrécissement).
Voici une vidéo de certaines fonctionnalités: https://asciinema.org/a/1r0fp33xgwh48lfgsh7mllw4u
Vous devriez probablement également être au courant du
helm-org
package qui fait partie dehelm
ce qui a été l'inspiration pour ce package (ou plutôt dont les limitations ont été l'inspiration pour ce package), ainsi quehelm-org-rifle
discuté dans d'autres articles.(Gracieuseté des réponses ici: https://www.reddit.com/r/emacs/comments/69mc6l/how_to_jump_directly_to_an_orgheadline/ ) La
worf-goto
fonction faisant également partie d'worf
un (mode de navigation organisationnelle qui applique un ensemble différent de raccourcis clavier sur "*" avant les titres). Cela semble très analogue àhelm-org
.la source
La bibliothèque de swiper a une nouvelle fonctionnalité dans 0.9.0, qui est l'achèvement des titres de fichiers dans vos fichiers org-agenda.
Il vous suffit de configurer votre liste de fichiers d'agenda dans org init.
En ce qui concerne la réponse de @ tirocinium, cela fournit la même chose mais pour de nombreux fichiers d'agenda.
la source
J'utilise
counsel-imenu
; il énumérera les différentes têtes, vous pouvez taper quelques lettres pour affiner votre sélection, puis appuyez simplement sur<return>
.la source
Je recommande
helm-org-in-buffer-headings
. Il est intégré à Helm et respecte les tampons rétrécis, ce qui est important si vous utilisez des tampons indirects pour modifier les sous-arbres indépendamment. Il y a aussihelm-org-parent-headings
pour naviguer dans une arborescence ethelm-org-agenda-files-headings
pour naviguer dans tous les fichiers d'agenda.la source