답변:
모션 의 조직 수동 노드 는 내장 명령 org-goto
(기본 바인딩 :)에 대한 간결한 설명을 제공하며 C-c C-j
, 원하는 효과를 얻기 위해 동작을 쉽게 사용자 지정할 수 있습니다.
C-h v org-goto-interface RET
org-goto
버퍼 아웃 라인을 통해 점진적으로 검색 하는 기본 동작 을 잊고 싶다면 완료를 통해 헤드 라인 선택으로 전환 할 수 있습니다.
(setq org-goto-interface 'outline-path-completion)
ido
/ ivy
/ 와 같은 완성 패키지 사용자는 helm
전체 대상 경로를 한 번에보기 위해 다음 설정을 변경하려고 할 것입니다.
(setq org-outline-path-complete-in-steps nil)
이 접근법은 개인적으로 확인할 수 있듯이 helm
기본으로 연결되는 모든 완성 프레임 워크로 작업하는 것의 장점 ( 특정 기능 사용에 비해)을 추가 로 제공합니다 .completing-read
ivy
추가:
이 답변에 설명 된대로 명령에 대한 outline-path-completion
인터페이스를 사용할 때 org-goto
사용자 정의 변수 org-goto-max-level
는 제공 할 헤드 라인의 최대 깊이를 결정합니다.
편집하다:
유용한 답변이있는 이전의 관련 질문을 찾았습니다 : https : //.com/q/15011703/3084001
설명 (Att Righ의 의견에 따라)
org-goto-interface
인식 된 두 값 중 하나로 설정 한다고해서 대체 인터페이스가 희생되는 것은 아닙니다. org-goto
접두사 인수 (예 : C-u C-c C-j
또는 C-u M-x org-goto RET
)를 사용하여 호출 하면 현재 완료에 대한 대체 인터페이스가 자동으로 선택됩니다. 이렇게하면 org-goto-interface
가장 자주 사용하는 인터페이스로 설정 하고 일시적으로 동작을 전환하려는 경우 접두사 인수를 사용할 수 있습니다. 이것이 당신의 요구에 맞지 않더라도 org-goto
Att Righ의 예제에 따라 항상 자신 만의 래퍼를 작성할 수 있습니다 .
outline-path-completion
helm
내 상자에서 잘 재생되지 않습니다 (한 수준 이상으로 완료 할 수 없습니다- 비활성화되어있는 <TAB>
경우 를 눌러 달성 helm
: 참조 helm-completing-read-handlers-alist
)
let
은 모든 종류의 임시 바인딩에 사용할 수 있습니다. 이 질문은 관련 설정 / 기능 / 패키지에 대한 자세한 내용입니다. 인터페이스의 임시 전환을 달성하는보다 일반적인 방법 org-goto
은 접두사 인수를 사용 하여 호출 하는 것입니다. 이 답변에 메모를 추가하겠습니다.
ivy
과 관련이있는 설정을 일시적으로 필요에 맞게 조정하기 때문에 파일을 다시 작성 org-refile-targets
하고의 깊이 설정이 잘못된 경우에만 유사한 것을 본 것을 기억 org-goto
합니다. 불행히도 helm
현재 기능 을 탐색 할 위치에 있지 않습니다 . 아마 다른 사용자가 차임 할 수 있습니까?
worf
또는 뿐만 아니라 작동하지 않습니다 counsel-imenu
.
worf 패키지를 사용 하지만 그 기능 중 하나만 바인딩합니다.
(use-package worf
:diminish worf-mode
:bind (:map org-mode-map ("C-c h" . worf-goto)))
worf-goto
미니 버퍼의 버퍼에있는 표제 목록을 제공 한 후 필터링 할 수 있습니다.
패키지는 ivy 작성자가 만들었 으므로 ivy를 좋아한다면 worf를 좋아할 것입니다.
;; - "g" (`worf-goto'): select an outline in the current buffer, with
;; completion. It's very good when you want to search/navigate to
;; a heading by word or level. See https://github.com/abo-abo/lispy
;; for a package that uses this method to navigate Lisp code.
(defun worf-goto-action (x)
(with-ivy-window
(goto-char (cdr x))
(outline-show-children 1000)
(worf-more)))
(defun worf-goto ()
"Jump to a heading with completion."
(interactive)
(let ((cands (worf--goto-candidates)))
(cond ((eq worf-completion-method 'helm)
(require 'helm-multi-match)
(let (helm-update-blacklist-regexps
helm-candidate-number-limit)
(helm :sources
`((name . "Headings")
(candidates . ,cands)
(action . worf-goto-action)
(pattern-transformer . worf--pattern-transformer)))))
((eq worf-completion-method 'ivy)
(ivy-read "Heading: " cands
:action 'worf-goto-action)))))
counsel-imenu
완료는 worf보다 우수하지만 level1 조직 헤드 라인을 통해 검색 할 수 없습니다. worfs는 모든 레벨을 검색하므로 원하는 것을 생각합니다.
org-imenu-depth
기본값 2보다 큰 값으로 설정해 보셨습니까 ?
조타 소총이 특히 좋습니다. 또한 imenu 소스를 사용하는 것은 헤더를 표시 할 수 있습니다 (예 : imenu가있는 Helm).
helm-org-rifle
의 내용 을 검색 한다는 점에 유의해야합니다 . 나는이 행동을 바꿀 방법을 찾지 못했다. 모든 헤드 라인을 검색하지만 퍼지 검색을 지원하지 않는 helm-org-rifle
참조 org-search-goto
helm-org-rifle
. 제목 만 검색하지는 않습니다. 이를 수행하기 위해 확장 될 수 있지만 helm-org-in-buffer-headings
Helm 자체에 등이 있기 때문에 그렇게 할 이유가 거의 없습니다.
자체 프로모션이 가능하지만 orgnav 를 사용해보십시오 . 이 목적을위한 나의 종류의 알파 (그러나 적극적으로 사용되는) 프로젝트입니다.
orgnav 는 컨텐츠가 아닌 헤드 라인을 검색하며 전체 파일이 아닌 검색 깊이, 서브 트리 검색을 다양화할 수 있습니다 (좁히는 경우에도 가능함).
다음은 몇 가지 기능에 대한 비디오입니다. https://asciinema.org/a/1r0fp33xgwh48lfgsh7mllw4u
또한 이 패키지에 영감을 준 패키지 (또는이 패키지에 대한 영감이 한계 인 helm-org
패키지)에 대해 알고 있어야 합니다 .helm
helm-org-rifle
(여기에서 답변 제공 : https://www.reddit.com/r/emacs/comments/69mc6l/how_to_jump_directly_to_an_orgheadline/
) 또한 잠재적으로 관심의 대상은 (다른 키 바인딩 세트를 적용하는 조직 탐색 모드)의 worf-goto
일부입니다. worf
헤드 라인 앞의 "*"). 이것은와 매우 유사합니다 helm-org
.
(defun my-org-goto () (let ((org-goto-interface 'outline-path-completion)) (org-goto)))