El nodo Org Manual en Motion proporciona una descripción algo lacónica del comando incorporado org-goto(enlace predeterminado:) C-c C-j, cuyo comportamiento se puede personalizar fácilmente para lograr el efecto deseado:
- Inspeccione la documentación de la variable personalizable listada al final de este nodo manual:
C-h v org-goto-interface RET
Si está contento de renunciar al org-gotocomportamiento predeterminado de buscar incrementalmente a través del esquema del búfer, puede cambiar a elegir un título al completar:
(setq org-goto-interface 'outline-path-completion)
Los usuarios de paquetes de finalización como ido/ ivy/ helmprobablemente deseen cambiar la siguiente configuración para ver la ruta de destino completa de una vez:
(setq org-outline-path-complete-in-steps nil)
Ver aquí para más discusión.
Este enfoque tiene la ventaja añadida (sobre el uso de, por ejemplo, helmla funcionalidad específica de) de trabajar con todos los marcos de terminación que se conectan en el valor por defecto completing-read, incluyendo, como puedo confirmar personalmente, ivy.
APÉNDICE:
Al usar la outline-path-completioninterfaz para el org-gotocomando como se describe en esta respuesta, la variable personalizable org-goto-max-leveldetermina la profundidad máxima de los titulares para ofrecer.
EDITAR:
Encontré una pregunta antigua y relevante con respuestas útiles: /programming//q/15011703/3084001
ACLARACIÓN (como lo solicitó el comentario de Att Righ):
Establecer org-goto-interfaceuno de los dos valores reconocidos no significa sacrificar la interfaz alternativa. Llamar org-gotocon un argumento de prefijo (es decir, C-u C-c C-jo C-u M-x org-goto RET) selecciona automáticamente la interfaz alternativa para la finalización actual. De esta manera, puede establecer org-goto-interfacela interfaz que probablemente usará con más frecuencia y usar el argumento prefijo cuando desee cambiar temporalmente el comportamiento. Si incluso esto no satisface sus necesidades, siempre puede escribir su propio contenedor org-goto, según el ejemplo de Att Righ.
(defun my-org-goto () (let ((org-goto-interface 'outline-path-completion)) (org-goto)))outline-path-completionno juega muy bien conhelmen mi caja (no puede completar más allá de un nivel - logrado presionando<TAB>sihelmestá deshabilitado: verhelm-completing-read-handlers-alist)let-expresiones se pueden utilizar para cualquier tipo de enlace temporal; Esta pregunta es más acerca de la configuración / funcionalidad / paquetes relevantes. Una forma más general de lograr un cambio temporal de interfaz es llamarorg-gotocon un argumento prefijo. Agregaré una nota a esta respuesta.ivy, pero solo cuando se vuelve a llenar y con una configuración de profundidad incorrectaorg-refile-targets, ya queorg-gotoadapta temporalmente las configuraciones relevantes para el relleno para satisfacer sus necesidades. Desafortunadamente, no estoy en condiciones de explorar lahelmfuncionalidad en este momento, ¿tal vez otro usuario pueda intervenir?worfocounsel-imenu.Uso el paquete worf , pero solo ato una de sus funciones:
worf-gotole da una lista de los encabezados en el búfer en el mini búfer, que luego puede filtrar.El paquete está hecho por el autor de ivy , por lo que si te gusta la hiedra, es posible que te guste worf.
Algunos fragmentos relevantes de worf.el:
fuente
counsel-imenula finalización funciona mejor que worf pero no puede buscar en los titulares de la organización de nivel 1 worfs busca en todos los niveles, así que creo que esto es lo que estoy buscando.org-imenu-depthalgo mayor que el valor predeterminado de 2?Encuentro helm-org-rifle particularmente agradable. Además, todo lo que tome la fuente imenu podrá mostrar encabezados (por ejemplo, Helm with imenu).
fuente
helm-org-riflebusca el contenido de las entradas de la organización además de sus títulos. No encontré ninguna forma de alterar este comportamiento.helm-org-riflereferenciasorg-search-gotoque busca en todos los titulares pero realmente no admite búsquedas difusas.helm-org-rifleno busca solo títulos. Podría expandirse para hacer esto, pero hay pocas razones para hacerlo, ya quehelm-org-in-buffer-headings, etc., existen en Helm.imenuestá integrado en Emacs y se puede combinar con helm / ivy para proporcionar la búsqueda difusa requerida.helm-org-rifleSin embargo, recomendaría si usa timón.fuente
Auto-promoción flagrante, pero es posible que desee probar orgnav . Cuál es mi tipo de proyecto alfa (pero utilizado activamente por mí) para este propósito.
orgnav busca titulares en lugar de contenido, puede variar la profundidad de la búsqueda, buscar subárboles en lugar de todo el archivo (aunque esto también se puede lograr con el estrechamiento).
Aquí hay un video de algunas características: https://asciinema.org/a/1r0fp33xgwh48lfgsh7mllw4u
Probablemente también debería conocer el
helm-orgpaquete, que es parte de lohelmcual fue la inspiración para este paquete (o más bien, cuyas limitaciones fueron la inspiración para este paquete), así como sehelm-org-riflediscutió en otras publicaciones.(Cortesía de respuestas aquí: https://www.reddit.com/r/emacs/comments/69mc6l/how_to_jump_directly_to_an_orgheadline/ ) También es potencialmente interesante la
worf-gotofunción como parte deworf(un modo de navegación de organización que aplica un conjunto diferente de combinaciones de teclas sobre "*" antes de los titulares). Esto parece muy similar ahelm-org.fuente
La biblioteca swiper tiene una nueva característica en 0.9.0, que es la finalización de los titulares de los archivos en su org-agenda-files.
Solo necesita configurar su lista de archivos de agenda en org init.
En relación con la respuesta de @ tirocinium, esto proporciona lo mismo pero para muchos archivos de agenda.
fuente
Yo uso
counsel-imenu; enumerará los diferentes encabezados, puede escribir algunas letras para limitar su selección y luego simplemente presionar<return>.fuente
Recomiendo
helm-org-in-buffer-headings. Está integrado en Helm y respeta los buffers reducidos, lo cual es importante si usa buffers indirectos para editar subárboles de forma independiente. También hayhelm-org-parent-headingspara navegar por un árbol yhelm-org-agenda-files-headingspara navegar por todos los archivos de agenda.fuente