Yo uso el modo org para tomar notas. Actualmente tengo un directorio raíz, por ejemplo, "Notas", y hay varios subdirectorios dentro de él, por ejemplo, "Linux", "Programación", etc. Las notas tomadas usando el modo org se almacenan en esos subdirectorios.
Me preguntaba si hay un conjunto de configuraciones disponibles para poder buscar estas notas (que son todos archivos de modo org) muy rápidamente. Sé que hay destreza , pero no está diseñado para archivos de modo org. En realidad también probé helm-projectile pero está lejos de ser satisfactorio.
Para ser más precisos, lo que quiero lograr es que puedo buscar estos archivos usando etiquetas, titulares u otras características relacionadas con el modo de organización, tal vez usando algunas sintaxis predefinidas. Y si es posible, preferiría algo como timón. Si no existe tal extensión, ¿valdrá la pena implementarla? Pensé que deft + helm-projectile podría ser un buen punto de partida.
ACTUALIZACIÓN: probé ambos métodos, las variables locales de directorio (como sugiere @itsjeyd en la respuesta) y los comandos personalizados de org-agenda, y encontré que el último parecía más conveniente. Así que aquí está mi configuración:
(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"))))))
fuente
M-x org-search-view
Aquí está el enlace a la documentación: orgmode.org/manual/Search-view.html(setq deft-extension "org")
y(setq deft-text-mode 'org-mode)
.Respuestas:
Org en sí proporciona una facilidad para filtrar / buscar información almacenada en
.org
archivos de varias maneras. Se llama la "Agenda" . Elorg-mode
manual proporciona información extensa sobre cómo usarlo (consulte el enlace anterior o hágalo C-h i mOrg Mode
RETdesde Emacs y vaya al capítulo "Vistas de agenda"), por lo que no tiene sentido repetir toda esta información aquí. El texto introductorio del manual resume lo que puede hacer con él (énfasis mío):Lo único que debe hacer para comenzar a usar la agenda para buscar sus notas es agregar los archivos que desea buscar
org-agenda-files
:Entonces, en su caso, querrá agregar algo como esto a su archivo init:
Para muchos ejemplos y consejos prácticos, también le recomiendo que consulte el artículo sobre Búsqueda avanzada en Worg .
[ACTUALIZACIÓN] Limitar la búsqueda a conjuntos de archivos específicos
Como se mencionó en los comentarios, OP quiere poder restringir las búsquedas a conjuntos específicos de archivos. En términos técnicos, esto significa establecer
org-agenda-files
valores diferentes según el contexto. Esto se puede lograr utilizando variables de directorio local :Por ejemplo, digamos que
mientras visita archivos almacenados
Notes/Linux
, desea utilizar la agenda para buscar solo.org
archivos almacenados enNotes/Linux
.mientras visita archivos almacenados
Notes/Programming
, desea usar la agenda para buscar solo.org
archivos almacenados enNotes/Programming
.Esto es lo que debe hacer para habilitar este comportamiento:
Agregue un
.dir-locals.el
archivo con el siguiente contenido a ambosNotes/Linux
yNotes/Programming
:Esto establece la lista de
org-agenda-files
incluir todos los archivos en el directorio actual.Agregue el siguiente código a su archivo init:
Este paso es necesario para garantizar que
*Org Agenda*
(un búfer que no sea de archivo ) respete su configuración local de directorioorg-agenda-files
.La próxima vez que visite un archivo almacenado en
Notes/Linux
oNotes/Programming
, Emacs le preguntará si desea aplicar la configuración almacenada en.dir-locals.el
. Presione !para decirle a Emacs que aplique la configuración y márquela como segura para futuras sesiones (no se le volverán a solicitar los archivos en el mismo directorio).fuente
TODO
estados asociados con ellas, no deberían aparecer en su agenda cuando enumera sus elementos TODO.org-agenda-files
solo los archivos (o directorio) que le interesen dentro de una plantilla de agenda o usarC-c a <
para restringir la búsqueda de agenda solo al archivo actual.helm-org-agenda-files-headings
) hace exactamente lo que desea (para los encabezados). Tenga en cuenta que necesitará configurar variables locales de directorio para poder ejecutarhelm-org-agenda-files-headings
en conjuntos de archivos específicos.Hay algunas funciones relacionadas con la organización en helm. Creo que
helm-org-agenda-files-headings
es básicamente lo que tienes en mente. Si aún no está disponible para usted en emacs, intente quitar helm-org.el de Github .fuente