Der Org Manual-Knoten in Motion enthält eine etwas lakonische Beschreibung des integrierten Befehls org-goto
(Standardbindung:) C-c C-j
, dessen Verhalten leicht angepasst werden kann, um den gewünschten Effekt zu erzielen:
- Überprüfen Sie die Dokumentation der anpassbaren Variablen, die am Ende dieses Handbuchknotens aufgeführt ist:
C-h v org-goto-interface RET
Wenn Sie das Standardverhalten org-goto
des inkrementellen Durchsuchens der Pufferkontur gerne aufgeben möchten, können Sie nach Abschluss des Vorgangs zum Auswählen einer Überschrift wechseln:
(setq org-goto-interface 'outline-path-completion)
Benutzer - of - Completion - Pakete wie ido
/ ivy
/ helm
wird wahrscheinlich will die folgende Einstellung ändern , um den gesamten Zielpfad auf einmal zu sehen:
(setq org-outline-path-complete-in-steps nil)
Weitere Informationen finden Sie hier .
Dieser Ansatz hat den zusätzlichen Vorteil (über mit, sagen wir, helm
-spezifische Funktionen) der mit allen Abschluss - Frameworks , dass Stecker in die Standardarbeits completing-read
, einschließlich, wie ich kann persönlich bestätigen, ivy
.
NACHTRAG:
Wenn Sie die in dieser Antwort beschriebene outline-path-completion
Schnittstelle zum org-goto
Befehl verwenden, bestimmt die anpassbare Variable org-goto-max-level
die maximale Tiefe der angebotenen Überschriften.
BEARBEITEN:
Ich habe eine ältere, relevante Frage mit nützlichen Antworten gefunden: /programming//q/15011703/3084001
ERKLÄRUNG (wie in Att Righs Kommentar gefordert):
Das Einstellen org-goto-interface
eines der beiden erkannten Werte bedeutet nicht, die alternative Schnittstelle zu opfern. Durch Aufrufen org-goto
mit einem Präfix-Argument (dh C-u C-c C-j
oder C-u M-x org-goto RET
) wird automatisch die alternative Schnittstelle für die aktuelle Vervollständigung ausgewählt. Auf diese Weise können Sie org-goto-interface
die Schnittstelle festlegen , die Sie wahrscheinlich am häufigsten verwenden, und das Präfix-Argument verwenden, wenn Sie das Verhalten vorübergehend ändern möchten. Wenn auch dies nicht Ihren Anforderungen entspricht, können Sie immer einen eigenen Wrapper schreiben org-goto
, wie im Beispiel von Att Righ beschrieben.
(defun my-org-goto () (let ((org-goto-interface 'outline-path-completion)) (org-goto)))
outline-path-completion
spielt nicht gut mithelm
meiner Box (es kann nicht über ein Level hinaus abgeschlossen werden - erreicht durch Drücken von,<TAB>
wennhelm
deaktiviert: siehehelm-completing-read-handlers-alist
)let
-Ausdrücke können für jede Art von temporärer Bindung verwendet werden. In dieser Frage geht es mehr um relevante Einstellungen / Funktionen / Pakete. Eine allgemeinere Möglichkeit, einen temporären Wechsel der Schnittstelle zu erreichen, besteht darin,org-goto
ein Präfixargument aufzurufen . Ich werde dieser Antwort eine Notiz hinzufügen.ivy
, aber nur beim Nachfüllen und mit einer falschen Tiefeneinstellungorg-refile-targets
, da die fürorg-goto
das Nachfüllen relevanten Einstellungen vorübergehend an seine Bedürfnisse angepasst werden. Leider bin ich imhelm
Moment nicht in der Lage, die Funktionalität zu erkunden , vielleicht kann sich ein anderer Benutzer einschalten?worf
odercounsel-imenu
.Ich benutze das Paket worf , binde aber nur eine seiner Funktionen:
worf-goto
gibt Ihnen eine Liste der Überschriften im Puffer im Minipuffer, die Sie dann filtern können.Das Paket wird vom Autor gemacht ivy , wenn Sie also wie Efeu, die Sie mögen worf könnten.
Einige relevante Ausschnitte aus worf.el:
quelle
counsel-imenu
Die Vervollständigung funktioniert besser als WORF, kann jedoch nicht in den Überschriften der Organisationsebene 1 suchen. worfs durchsucht alle Ebenen, also denke ich, dass dies das ist, wonach ich suche.org-imenu-depth
über dem Standardwert von 2 liegt?Ich finde das Ruderorggewehr besonders schön. Auch alles, was imenu source benötigt, kann Header anzeigen (zB Helm mit imenu).
quelle
helm-org-rifle
der Inhalt von Organisationseinträgen durchsucht wird . Ich habe keine Möglichkeit gefunden, dieses Verhalten zu ändern.helm-org-rifle
Referenzen,org-search-goto
die alle Überschriften durchsuchen, aber die Fuzzy-Suche nicht wirklich unterstützen.helm-org-rifle
sucht nicht nur nach Überschriften. Es könnte erweitert werden, um dies zu tun, aber es gibt wenig Grund, dies zu tun, dahelm-org-in-buffer-headings
usw. in Helm selbst existieren.imenu
ist in Emacs integriert und kann mit Helm / Efeu kombiniert werden, um die erforderliche Fuzzy-Suche zu ermöglichen. Ich würde empfehlen,helm-org-rifle
wenn Sie jedoch Helm verwenden.quelle
Offensichtliche Eigenwerbung, aber Sie möchten vielleicht orgnav ausprobieren . Welches ist meine Art von Alpha-Projekt (aber von mir aktiv genutzt) für diesen Zweck.
orgnav sucht eher nach Überschriften als nach Inhalten, kann die Suchtiefe variieren, sucht eher nach Teilbäumen als nach der gesamten Datei (obwohl dies auch mit einer Verengung erreicht werden kann).
Hier ist ein Video mit einigen Funktionen: https://asciinema.org/a/1r0fp33xgwh48lfgsh7mllw4u
Sie sollten sich wahrscheinlich auch des
helm-org
Pakets bewusst sein , dessen Bestandteilhelm
die Inspiration für dieses Paket war (bzw. dessen Einschränkungen die Inspiration für dieses Paket waren) undhelm-org-rifle
das in anderen Posts diskutiert wurde.(Mit freundlicher Genehmigung von Antworten hier: https://www.reddit.com/r/emacs/comments/69mc6l/how_to_jump_directly_to_an_orgheadline/ ) Möglicherweise ist auch die
worf-goto
Funktion als Teil vonworf
(einem Organisationsnavigationsmodus, für den ein anderer Satz von Tastenkombinationen angewendet wird ) von Interesse "*" vor Überschriften). Dies scheint sehr ähnlich zu seinhelm-org
.quelle
Die Swiper- Bibliothek verfügt in 0.9.0 über eine neue Funktion, die das Vervollständigen der Überschriften von Dateien in Ihren Organigrammdateien ermöglicht.
Sie müssen lediglich Ihre Agenda-Dateiliste in org init einrichten.
In Bezug auf die Antwort von @ tirocinium liefert dies dasselbe, jedoch für viele Agenda-Dateien.
quelle
Ich benutze
counsel-imenu
; Es werden die verschiedenen Köpfe aufgelistet. Sie können einige Buchstaben eingeben, um Ihre Auswahl einzugrenzen, und dann einfach drücken<return>
.quelle
Ich empfehle
helm-org-in-buffer-headings
. Es ist in Helm integriert und berücksichtigt verengte Puffer. Dies ist wichtig, wenn Sie indirekte Puffer verwenden, um Teilbäume unabhängig voneinander zu bearbeiten. Es gibt auch Funktionenhelm-org-parent-headings
zum Navigieren in einem Baum undhelm-org-agenda-files-headings
zum Navigieren in allen Agenda-Dateien.quelle