¿Navegador de directorio basado en árbol?

38

Me encanta dired, pero a veces (particularmente cuando filmo screencasts) quiero ver la estructura de árbol de un directorio y sus elementos secundarios, como el comando tree (1). ¿Existe un navegador de directorios orientado a árboles para Emacs?

Avdi
fuente
Estoy bastante seguro de que ECB puede hacer esto.
Edgar Aroutiounian
2
@EdgarAroutiounian Si ese es el caso, recomiendo hacer una respuesta de ella :)
Trevoke

Respuestas:

23

Además, puede usar dired-subtree desde dired-hacks repo.

Aquí tiene una breve demostración y captura de pantalla de mi configuración, donde presiono ipara desglosar la carpeta y ;regresar:

  (define-key dired-mode-map "i" 'dired-subtree-insert)
  (define-key dired-mode-map ";" 'dired-subtree-remove)

dired-subtree

PD: También conozco el direx que se ve así direx:

kmicu
fuente
Intenté dired-subtree pero la estructura de árbol no era tan visualmente aparente como estaba buscando. Direx se ve perfecto aunque, voy a intentarlo.
Avdi
Soy este porque la sugerencia de Direx parece ideal para mi caso de uso de poner una visualización del árbol de directorios al frente y al centro. Sin embargo, eso no es para descartar las excelentes sugerencias de @ keelerm.
Avdi
Puede obtener una funcionalidad equivalente utilizando un enlace de tecla: (define-key dired-mode-map "i" 'dired-subtree-toggle). Sin embargo, me gusta asignarlo a "Cc i" ya que dired también inserta el subdirectorio usando "i".
Joe
22

Hay un par de opciones para esto.

Puede consultar dirtree , que se basa en dired.

También hay un puerto emacs de NERDTree de vim llamado neotree .

Ambos son paquetes excelentes, aunque tiendo a favorecer neotree ya que tiene enlaces convenientes para permitirme crear y eliminar archivos y directorios. No creo que dirtree tenga este apoyo, aunque podría estar equivocado. Ha pasado un tiempo desde la última vez que lo usé.

keelerm
fuente
Gracias, aunque direx parece ser ideal para mi necesidad inmediata, me ha recordado que necesito pasar un tiempo con neotree.
Avdi
9

Puede invocar diredcon un argumento, es decir. C-u C-x dy después de solicitar el directorio, también le permitirá modificar los interruptores pasados ls. Agregue Ry diredenumerará recursivamente todos los subdirectorios, cada uno en su propia sección.

Si solo desea ver el contenido de algunos subdirectorios, presione icuando el punto esté en el nombre de un directorio.

También puede usar el find-diredcomando, con o sin interruptores. En lugar de mostrar subdirectorios en su propia sección, imprime la ruta completa de cada archivo. Puede alternar la visualización de los detalles del archivo (para que las rutas largas quepan horizontalmente en la pantalla.

Todos estos están integrados.

Archivo no encontrado
fuente
7

¿Alguna vez has probado Emacs M-x speedbar? :-) antes de instalar algún paquete nuevo, probaría una solución incorporada ...

Dieter.Wilhelm
fuente
1
... y un voto más por sugerir un incorporado.
GergelyPolonkai
4

También hay ztree . Lo uso cuando necesito echar un vistazo a la estructura del directorio, aunque generalmente uso Vanilla Dired para todas las demás cosas.

Mark Karpov
fuente
1

Echa un vistazo a sidebar.el .

Como dijo el repositorio, es un explorador de archivos personalizable con integración git, pero no solo eso. También puede obtener la lista de buffers y sus maildirs con mu4e.

ingrese la descripción de la imagen aquí

azzamsa
fuente
1

¿ Funciona Treemacs ? Te permite tener una estructura en forma de árbol.

decabytes
fuente
¿Es esta una respuesta o una pregunta (dos preguntas)? Es prácticamente una respuesta de solo enlace, si es una respuesta. Como tal, corre el riesgo de ser eliminado. Ver emacs.stackexchange.com/help/how-to-ask .
Dibujó el
1
@Drew, fwiw Creo que esto es solo un problema de lenguaje / interpretación. Treemacs es una sugerencia absolutamente aceptable para la pregunta del OP.
EdwardGarson