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-goto
comportamiento 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
/ helm
probablemente 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, helm
la 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-completion
interfaz para el org-goto
comando como se describe en esta respuesta, la variable personalizable org-goto-max-level
determina 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-interface
uno de los dos valores reconocidos no significa sacrificar la interfaz alternativa. Llamar org-goto
con un argumento de prefijo (es decir, C-u C-c C-j
o 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-interface
la 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-completion
no juega muy bien conhelm
en mi caja (no puede completar más allá de un nivel - logrado presionando<TAB>
sihelm
está 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-goto
con 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-goto
adapta temporalmente las configuraciones relevantes para el relleno para satisfacer sus necesidades. Desafortunadamente, no estoy en condiciones de explorar lahelm
funcionalidad en este momento, ¿tal vez otro usuario pueda intervenir?worf
ocounsel-imenu
.Uso el paquete worf , pero solo ato una de sus funciones:
worf-goto
le 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-imenu
la 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-depth
algo 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-rifle
busca 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-rifle
referenciasorg-search-goto
que busca en todos los titulares pero realmente no admite búsquedas difusas.helm-org-rifle
no 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.imenu
está integrado en Emacs y se puede combinar con helm / ivy para proporcionar la búsqueda difusa requerida.helm-org-rifle
Sin 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-org
paquete, que es parte de lohelm
cual fue la inspiración para este paquete (o más bien, cuyas limitaciones fueron la inspiración para este paquete), así como sehelm-org-rifle
discutió 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-goto
funció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-headings
para navegar por un árbol yhelm-org-agenda-files-headings
para navegar por todos los archivos de agenda.fuente