Tomar muchas notas, es muy sencillo, lo complicado es después encontrarlas. Cuando decides el crear un único archivo orgmode para tomar tus notas y este crece de forma desmesurada, empiezas a tener problemas cuando quieres localizar notas que sabes que has tomado, pero mediante una búsqueda sencilla por palabras, aparecen cientos de resultados.
Lo ideal sería poder buscar palabras solo en la cabeceras y no a lo largo del orgmode. En este Post de https://mentat.za.net, explica como hacer búsqueda solo en las cabecera de primer nivel. Yo, tal como tengo estructuradas mis notas, necesitaba que buscara en todas las cabeceras. Así que he hecho una pequeña modificación al código y aquí os explico el resultado.
Pensé en replicar tantas veces como fuera necesario, la línea '(setq unread-command-events (listify-key-sequence "* "))', e ir añadiendo Cabeceras, pero solo me ha bastado una, como aparece en esta cajetilla de código, para que entienda emacs que debe buscar en todas las Cabeceras. No me parece que sea una forma correcta, pero… Funciona!!!!
Añade en init.es o .emacs, las siguientes líneas:
(defun stefan/isearch-heading ()
(interactive)
(setq unread-command-events (listify-key-sequence "^* "))
(setq unread-command-events (listify-key-sequence "^** "))
(isearch-mode t t nil t))
(defun org-mode-keys ()
(interactive)
(local-set-key (kbd "C-c h") 'stefan/isearch-heading)
)
(add-hook 'org-mode-hook 'org-mode-keys)
Para buscar una palabra que estará en cualquiera de las cabeceras, pulsaremos las teclas C-c h. Recuerda que podrás personalizar el atajo que desees cambiando este en el código.
Una vez hecha la primera búsqueda, si tienes mas cabeceras con la misma palabra que deseas buscar, debes de pulsar C-s todo el rato, ara ir avanzando a lo largo de las coincidencias
Tengo que decir que el único punto negativo, es que encuentra la palabra, siempre que sea la primera que aparece en el título de la cabecera. Si está a lo largo del título, no la encuentra. De ahí, que en el código aparece "*". Es una cosa que tenemos que tener en cuenta cuando creemos nuestras notas.
Código para solo Buscar en cabeceras de primer nivel:
(defun stefan/isearch-heading ()
(interactive)
(setq unread-command-events (listify-key-sequence "^* "))
(isearch-mode t t nil t))
(defun org-mode-keys ()
(interactive)
(local-set-key (kbd "C-c h") 'stefan/isearch-heading)
)
(add-hook 'org-mode-hook 'org-mode-keys)
Publicado por Angel el Friday 01 February del 2019
También te puede interesar:
Powered by org-bash-blog
Written in OrgMode with Emacs and converted to HTML with Pandoc
Este obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.