O nó Manual da organização no Motion fornece uma descrição um tanto lacônica do comando interno org-goto
(ligação padrão:) C-c C-j
, cujo comportamento pode ser facilmente personalizado para obter o efeito desejado:
- Inspecione a documentação da variável personalizável listada no final deste nó manual:
C-h v org-goto-interface RET
Se você deseja excluir o org-goto
comportamento padrão da pesquisa incremental através do esboço do buffer, pode mudar para escolher um título através da conclusão:
(setq org-goto-interface 'outline-path-completion)
Os usuários de pacotes de conclusão como ido
/ ivy
/ helm
provavelmente desejarão alterar a seguinte configuração para ver todo o caminho de destino de uma só vez:
(setq org-outline-path-complete-in-steps nil)
Veja aqui para mais discussão.
Essa abordagem tem o benefício adicional (sobre o uso, digamos, da helm
funcionalidade específica) de trabalhar com todas as estruturas de conclusão que se encaixam no padrão completing-read
, incluindo, como posso confirmar pessoalmente ivy
.
TERMO ADITIVO:
Ao usar a outline-path-completion
interface para o org-goto
comando, conforme descrito nesta resposta, a variável personalizável org-goto-max-level
determina a profundidade máxima dos títulos a oferecer.
EDITAR:
Encontrei uma pergunta relevante e antiga com respostas úteis: /programming//q/15011703/3084001
ESCLARECIMENTO (conforme solicitado pelo comentário de Att Righ):
Definir org-goto-interface
um dos dois valores reconhecidos não significa sacrificar a interface alternativa. Chamar org-goto
com um argumento de prefixo ( C-u C-c C-j
ou seja C-u M-x org-goto RET
) seleciona automaticamente a interface alternativa para a conclusão atual. Dessa forma, você pode definir org-goto-interface
a interface que provavelmente usará com mais freqüência e usar o argumento de prefixo quando desejar alternar temporariamente o comportamento. Se mesmo isso não atender às suas necessidades, você sempre poderá escrever seu próprio invólucro org-goto
, como no exemplo de Att Righ.
(defun my-org-goto () (let ((org-goto-interface 'outline-path-completion)) (org-goto)))
outline-path-completion
não jogar bem comhelm
na minha caixa (não possa completar o nível um passado - alcançado pressionando<TAB>
sehelm
está desativado: vejahelm-completing-read-handlers-alist
)let
-expressions podem ser usadas para qualquer tipo de ligação temporária; Esta pergunta é mais sobre configurações / funcionalidades / pacotes relevantes. Uma maneira mais geral de obter uma troca temporária de interface é chamarorg-goto
com um argumento de prefixo. Vou adicionar uma nota a esta resposta.ivy
, mas apenas ao refilar e com uma profundidade incorreta configuradaorg-refile-targets
, poisorg-goto
adapta temporariamente as configurações relevantes ao refil para atender às suas necessidades. Infelizmente, não estou em condições de explorar ahelm
funcionalidade no momento, talvez outro usuário possa entrar?worf
oucounsel-imenu
.Eu uso o pacote worf , mas vinculo apenas uma de suas funções:
worf-goto
fornece uma lista dos títulos no buffer no mini buffer, que você pode filtrar.O pacote é feito pelo autor do ivy ; portanto, se você gosta do ivy, pode gostar do worf.
Alguns trechos relevantes do worf.el:
fonte
counsel-imenu
a conclusão funciona melhor que o worf, mas não é possível pesquisar nas manchetes da organização level1. worfs pesquisa todos os níveis, então acho que é isso que estou procurando.org-imenu-depth
algo maior que o padrão de 2?Acho rifle de leme-org particularmente agradável. Além disso, qualquer coisa que utilize a fonte imenu poderá exibir cabeçalhos (por exemplo, Helm with imenu).
fonte
helm-org-rifle
pesquisa o conteúdo das entradas da organização, além de seus títulos. Não encontrei nenhuma maneira de alterar esse comportamento.helm-org-rifle
referênciasorg-search-goto
que pesquisam todas as manchetes, mas realmente não suportam a pesquisa difusa.helm-org-rifle
não pesquisa apenas títulos. Pode ser expandido para fazer isso, mas há poucas razões para fazê-lo, poishelm-org-in-buffer-headings
, etc. existem no próprio Helm.imenu
está embutido no Emacs e pode ser emparelhado com helm / ivy para fornecer a pesquisa difusa necessária. Eu recomendariahelm-org-rifle
se você usar o leme, no entanto.fonte
Autopromoção flagrante , mas você pode experimentar o orgnav . Qual é o meu tipo de projeto alfa (mas usado ativamente por mim) para esse fim.
O orgnav pesquisa títulos em vez de conteúdo, pode variar a profundidade da pesquisa, pesquisar subárvores em vez de todo o arquivo (embora isso também possa ser alcançado com o estreitamento).
Aqui está um vídeo de alguns recursos: https://asciinema.org/a/1r0fp33xgwh48lfgsh7mllw4u
Você provavelmente também deve estar ciente do
helm-org
pacote que é parte dohelm
qual foi a inspiração para este pacote (ou melhor, cujas limitações foram a inspiração para este pacote), bem comohelm-org-rifle
discutido em outras postagens.(Cortesia das respostas aqui: https://www.reddit.com/r/emacs/comments/69mc6l/how_to_jump_directly_to_an_orgheadline/ ) Também potencialmente interessante é a
worf-goto
função como parte deworf
(um modo de navegação organizacional que aplica um conjunto diferente de combinações de teclas sobre "*" antes das manchetes). Isso parece muito análogo ahelm-org
.fonte
A biblioteca swiper possui um novo recurso na 0.9.0, que é a conclusão para manchetes de arquivos em seus arquivos de agenda organizacional.
Só precisa configurar sua lista de arquivos da agenda no org init.
Em relação à resposta do @ tirocinium, isso fornece o mesmo, mas para muitos arquivos de agenda.
fonte
Eu uso
counsel-imenu
; Ele listará as diferentes cabeças. Você pode digitar algumas letras para restringir sua seleção e pressionar<return>
.fonte
Eu recomendo
helm-org-in-buffer-headings
. Ele é incorporado ao Helm e respeita os buffers limitados, o que é importante se você usar buffers indiretos para editar subárvores independentemente. Também háhelm-org-parent-headings
para navegar em uma árvore ehelm-org-agenda-files-headings
para navegar em todos os arquivos da agenda.fonte