Węzeł Org Manual na Motion podaje nieco lakoniczny opis wbudowanego polecenia org-goto
(domyślne wiązanie:) C-c C-j
, którego zachowanie można łatwo dostosować, aby osiągnąć pożądany efekt:
- Przejrzyj dokumentację zmiennej, którą można dostosować, wymienionej na końcu tego węzła instrukcji:
C-h v org-goto-interface RET
Jeśli zechcesz zrezygnować z domyślnego org-goto
zachowania polegającego na stopniowym przeszukiwaniu konturu bufora, możesz przejść do wybrania nagłówka po zakończeniu:
(setq org-goto-interface 'outline-path-completion)
Użytkownicy pakietów uzupełniających, takich jak ido
/ ivy
/ helm
, prawdopodobnie będą chcieli zmienić następujące ustawienie, aby jednocześnie zobaczyć całą ścieżkę docelową:
(setq org-outline-path-complete-in-steps nil)
Zobacz tutaj, aby uzyskać więcej dyskusji.
Podejście to ma tę dodatkową zaletę (ponad użyciu, powiedzmy, helm
specyficzny zestaw funkcjonalności) pracy ze wszystkimi ramami ukończenia tej wtyczki do domyślnie completing-read
, w tym, jak mogę osobiście potwierdzić, ivy
.
UZUPEŁNIENIE:
Podczas używania outline-path-completion
interfejsu org-goto
polecenia zgodnie z opisem w tej odpowiedzi konfigurowalna zmienna org-goto-max-level
określa maksymalną głębokość nagłówków do zaoferowania.
EDYTOWAĆ:
Znalazłem starsze, odpowiednie pytanie z przydatnymi odpowiedziami: /programming//q/15011703/3084001
WYJAŚNIENIE (zgodnie z komentarzem Att Righa):
Ustawienie org-goto-interface
jednej z dwóch rozpoznawanych wartości nie oznacza poświęcenia alternatywnego interfejsu. Wywołanie org-goto
z argumentem przedrostka (tj. C-u C-c C-j
Lub C-u M-x org-goto RET
) automatycznie wybiera alternatywny interfejs dla bieżącego zakończenia. W ten sposób możesz ustawić org-goto-interface
interfejs, którego najczęściej używasz, i użyć argumentu prefiksu, jeśli chcesz tymczasowo zmienić zachowanie. Jeśli nawet to nie odpowiada Twoim potrzebom, zawsze możesz napisać własne opakowanie org-goto
, jak na przykładzie Att Righa.
(defun my-org-goto () (let ((org-goto-interface 'outline-path-completion)) (org-goto)))
outline-path-completion
nie gra ładniehelm
na moim pudełku (nie można ukończyć pierwszego poziomu - osiąga się przez naciśnięcie,<TAB>
jeślihelm
jest wyłączone: patrzhelm-completing-read-handlers-alist
)let
można użyć do dowolnego rodzaju tymczasowego wiązania; to pytanie dotyczy bardziej odpowiednich ustawień / funkcjonalności / pakietów. Bardziej ogólnym sposobem uzyskania tymczasowego przełączenia interfejsu jest wywołanieorg-goto
z argumentem przedrostka. Dodam notatkę do tej odpowiedzi.ivy
, ale tylko podczas uzupełniania i z niepoprawnym ustawieniem głębokościorg-refile-targets
, ponieważorg-goto
tymczasowo dostosowuje ustawienia dotyczące ponownego dopasowania do swoich potrzeb. Niestetyhelm
w tej chwili nie jestem w stanie zbadać tej funkcjonalności, być może inny użytkownik może się do niej włączyć?worf
lubcounsel-imenu
.Korzystam z pakietu worf , ale wiążę tylko jedną z jego funkcji:
worf-goto
daje listę nagłówków w buforze w mini buforze, które można następnie filtrować.Pakiet jest wykonany przez autora bluszczu , więc jeśli lubisz bluszcz, możesz polubić worf.
Niektóre odpowiednie fragmenty z worf.el:
źródło
counsel-imenu
Ukończenie działa lepiej niż worf, ale nie można przeszukiwać nagłówków org poziomu 1. worfs przeszukuje wszystkie poziomy, więc myślę, że tego właśnie szukam.org-imenu-depth
coś większego niż domyślny 2?Uważam, że karabin-org-karabin jest szczególnie miły. Również wszystko, co pobiera źródło imenu, będzie mogło wyświetlać nagłówki (np. Hełm z imenu).
źródło
helm-org-rifle
przeszukuje zawartość wpisów organizacji oprócz ich tytułów. Nie znalazłem sposobu na zmianę tego zachowania.helm-org-rifle
referencje,org-search-goto
które wyszukują wszystkie nagłówki, ale tak naprawdę nie obsługują wyszukiwania rozmytego.helm-org-rifle
nie wyszukuje tylko nagłówków. Można to rozszerzyć, aby to zrobić, ale nie ma tego powodu, ponieważhelm-org-in-buffer-headings
itp. Istnieją w samym Hełmie.imenu
jest wbudowany w Emacsa i można go sparować ze sterem / bluszczem, aby zapewnić wymagane wyszukiwanie rozmyte. Polecam jednak,helm-org-rifle
jeśli używasz steru.źródło
Rażąca autopromocja, ale możesz wypróbować orgnav . Który jest moim rodzajem projektu alfa (ale aktywnie przeze mnie wykorzystywanego) do tego celu.
orgnav przeszukuje nagłówki, a nie treść, może zmieniać głębokość wyszukiwania, poddrzewa wyszukiwania zamiast całego pliku (chociaż można to również osiągnąć poprzez zawężenie).
Oto wideo niektórych funkcji: https://asciinema.org/a/1r0fp33xgwh48lfgsh7mllw4u
Prawdopodobnie powinieneś także wiedzieć o
helm-org
pakiecie, którego częściąhelm
była inspiracja dla tego pakietu (a raczej którego ograniczeniami była inspiracja dla tego pakietu), a takżehelm-org-rifle
omówionym w innych postach.(Dzięki uprzejmości odpowiedzi tutaj: https://www.reddit.com/r/emacs/comments/69mc6l/how_to_jump_directly_to_an_orgheadline/ ) Również potencjalnie interesująca jest
worf-goto
funkcja jako częśćworf
(tryb nawigacji w organie, który stosuje inny zestaw skrótów klawiszowych „*” przed nagłówkami). Wydaje się to bardzo analogiczne dohelm-org
.źródło
Swiper Biblioteka posiada nową funkcję w 0.9.0, która jest zakończenie dla nagłówków plików w org-agenda-plików.
Wystarczy skonfigurować listę plików agendy w org init.
W odniesieniu do odpowiedzi @ tirocinium zapewnia to to samo, ale dla wielu plików agendy.
źródło
Używam
counsel-imenu
; wyświetli listę różnych głów, możesz wpisać kilka liter, aby zawęzić wybór, a następnie po prostu naciśnij<return>
.źródło
Polecam
helm-org-in-buffer-headings
. Jest wbudowany w Helm i szanuje zawężone bufory, co jest ważne, jeśli używasz buforów pośrednich do niezależnej edycji poddrzewa. Istnieje równieżhelm-org-parent-headings
nawigacja w górę drzewa ihelm-org-agenda-files-headings
nawigacja we wszystkich plikach agendy.źródło