Eu uso o modo organizacional para fazer anotações. Atualmente, tenho um diretório raiz, digamos "Notas", e existem vários subdiretórios dentro dele, por exemplo, "Linux", "Programação" etc. As anotações feitas no modo org são armazenadas nesses subdiretórios.
Fiquei me perguntando se existe um conjunto de configurações disponíveis para que eu possa pesquisar essas notas (que são todos os arquivos do modo organizacional) muito rapidamente. Eu sei que é hábil , mas não foi projetado para arquivos de modo organizacional. Na verdade, eu também tentei leme-projétil, mas está longe de ser satisfatório.
Para ser mais preciso, o que eu quero alcançar é que eu posso pesquisar esses arquivos usando tags, títulos ou outros recursos relacionados ao modo organizacional, talvez usando algumas sintaxes predefinidas. E, se possível, eu preferiria algo como leme. Se não houver tal extensão, valerá a pena implementá-la? Eu pensei que deft + helm-projectile pode ser um bom ponto de partida.
UPDATE: Tentei os dois métodos, variáveis de diretório local (como @itsjeyd sugere na resposta) e comandos org-agenda-custom-command, e achei que o último parecia mais conveniente. Então, aqui está a minha configuração:
(setq org-agenda-custom-commands
'(("n" . "Search in notes")
("nt" "Note tags search" tags ""
((org-agenda-files (file-expand-wildcards "path/to/Notes/*/*.org"))))
("ns" "Note full text search" search ""
((org-agenda-files (file-expand-wildcards "path/to/Notes/*/*.org"))))))
fonte
M-x org-search-view
Aqui está o link para a documentação: orgmode.org/manual/Search-view.html(setq deft-extension "org")
e(setq deft-text-mode 'org-mode)
.Respostas:
A própria organização fornece um recurso para filtrar / pesquisar informações armazenadas em
.org
arquivos de várias maneiras. É chamado de "Agenda" . Oorg-mode
manual fornece informações abrangentes sobre como usá-lo (verifique o link acima ou faça isso C-h i mOrg Mode
RETno Emacs e navegue até o capítulo "Vistas da agenda"), para que não faça sentido repetir todas essas informações aqui. O texto introdutório do manual resume o que você pode fazer com ele (grifo meu):A única coisa que você precisa fazer para começar a usar a agenda para pesquisar suas anotações é adicionar os arquivos que deseja pesquisar
org-agenda-files
:Portanto, no seu caso, você deseja adicionar algo assim ao seu arquivo init:
Para muitos exemplos e conselhos práticos, também recomendo que você consulte o artigo sobre Pesquisa avançada no Worg .
[UPDATE] Limitando a pesquisa a conjuntos de arquivos específicos
Conforme mencionado nos comentários, o OP deseja restringir as pesquisas a conjuntos específicos de arquivos. Em termos técnicos, isso significa definir
org-agenda-files
valores diferentes, dependendo do contexto. Isso pode ser alcançado usando variáveis locais do diretório :Por exemplo, digamos que
ao visitar os arquivos armazenados,
Notes/Linux
você deseja usar a agenda para pesquisar apenas os.org
arquivos armazenadosNotes/Linux
.ao visitar os arquivos armazenados
Notes/Programming
, você deseja usar a agenda para pesquisar apenas os.org
arquivos armazenadosNotes/Programming
.Aqui está o que fazer para habilitar esse comportamento:
Adicione um
.dir-locals.el
arquivo com o seguinte conteúdo a ambosNotes/Linux
eNotes/Programming
:Isso define a lista de
org-agenda-files
para incluir todos os arquivos no diretório atual.Adicione o seguinte código ao seu arquivo init:
Esta etapa é necessária para garantir que
*Org Agenda*
(um buffer que não seja de arquivo ) respeite as configurações locais do diretórioorg-agenda-files
.Da próxima vez que você visitar um arquivo armazenado em
Notes/Linux
ouNotes/Programming
, o Emacs perguntará se você deseja aplicar as configurações armazenadas.dir-locals.el
. Pressione !para dizer ao Emacs para aplicar as configurações e marcá-las como seguras para sessões futuras (você não será solicitado a fornecer novamente arquivos no mesmo diretório).fonte
TODO
estados associados a elas, elas não devem aparecer na sua agenda quando você lista seus itens do TODO.org-agenda-files
apenas os arquivos (ou diretório) de seu interesse em um modelo de agenda ou usarC-c a <
para restringir a pesquisa de agenda apenas ao arquivo atual.helm-org-agenda-files-headings
) faz exatamente o que você deseja (para os títulos). Observe que você precisará configurar variáveis locais do diretório para possibilitar a execuçãohelm-org-agenda-files-headings
em conjuntos de arquivos específicos.Existem algumas funções relacionadas à organização no leme. Eu acho que
helm-org-agenda-files-headings
é basicamente o que você tem em mente. Se ainda não estiver disponível para você no emacs, tente remover o helm-org.el do Github .fonte