Navigateur d'annuaire basé sur une arborescence?

38

J'adore dired, mais parfois (en particulier lors de la réalisation de captures d'écran), je souhaite voir l'arborescence d'un répertoire et de ses enfants, à la commande tree (1). Existe-t-il un navigateur de répertoires sous forme d'arborescence pour Emacs?

Avdi
la source
Assez sûr que l'ecb peut le faire.
Edgar Aroutiounian
2
@ EdgarAroutiounian Si c'est le cas, je vous recommande d'y répondre :)
Trevoke

Réponses:

23

De plus, vous pouvez utiliser dired-subtree à partir de dired-hacks repo .

Vous avez ici une courte démonstration et une capture d’écran de ma configuration où j’appuie sur ipour parcourir le dossier et ;revenir en arrière.

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

dired-subtree

PS je connais aussi direx qui ressemble à ça direx:

kmicu
la source
J'ai essayé dired-subtree mais la structure arborescente n'était pas aussi apparente que je le recherchais. Direx a l'air parfait mais je vais l'essayer.
Avdi
Je suis celui-ci parce que la suggestion de Direx semble idéale pour mon cas d'utilisation de placer une visualisation d'arborescence de répertoires à l'avant et au centre. Cela ne doit toutefois pas écarter les excellentes suggestions de @ keelerm.
Avdi le
Vous pouvez obtenir une fonctionnalité équivalente en utilisant une liaison de clé: (define-clé dired-mode-map "i" 'dired-subtree-toggle). J'aime mapper sur "Cc i" bien que depuis dired insère également un sous-répertoire utilisant "i".
Joe
22

Il y a plusieurs options pour cela.

Vous pouvez vérifier dirtree , qui est basé sur dired.

Il existe également un port emacs de NERDTree de vim appelé neotree .

Les deux sont d'excellents paquetages, même si j'ai tendance à préférer neotree car il dispose de liaisons pratiques qui me permettent de créer et de supprimer des fichiers et des répertoires. Je ne crois pas que dirtree ait ce soutien, bien que je puisse me tromper. Cela fait un moment que je ne l'ai pas utilisé pour la dernière fois.

keelerm
la source
Merci, bien que direx semble être la solution idéale pour mes besoins immédiats, vous m'avez rappelé que je devais passer du temps avec neotree.
Avdi
9

Vous pouvez invoquer diredavec un argument, c'est à dire. C-u C-x det après avoir demandé le répertoire, il vous permettra également de modifier les commutateurs passés ls. Ajouter Ret diredlistera récursivement tous les sous-répertoires, chacun dans sa propre section.

Si vous voulez seulement voir le contenu de certains sous-répertoires, appuyez sur i lorsque le point se trouve sur un nom de répertoire.

Vous pouvez également utiliser la find-diredcommande, avec ou sans commutateurs. Au lieu d’afficher les sous-répertoires dans leur propre section, il affiche le chemin complet de chaque fichier. Vous pouvez basculer entre l'affichage des détails du fichier avec( manière ce que les longs chemins s’ajustent horizontalement à l’écran.

Ce sont tous intégrés.

Fichier non trouvé
la source
7

Avez-vous déjà essayé Emacs ' M-x speedbar? :-) Avant d'installer un nouveau paquet, j'essaierais une solution intégrée ...

Dieter.Wilhelm
la source
1
… Et un autre vote positif pour suggérer une commande intégrée.
GergelyPolonkai
4

Il y a aussi ztree . Je l'utilise lorsque je dois jeter un coup d'œil à la structure des répertoires, bien que j'utilise généralement vanilla Dired pour tout le reste.

Mark Karpov
la source
1

Jetez un coup d'oeil à sidebar.el .

Comme le dit le référent, il s’agit d’un explorateur de fichiers personnalisable avec intégration de git, mais pas que. Vous pouvez également obtenir la liste des tampons et vos répertoires de courrier avec mu4e.

entrez la description de l'image ici

azzamsa
la source
1

Treemacs fonctionne- t-il ? Cela vous permet d'avoir une structure semblable à un arbre.

décabytes
la source
Est-ce une réponse ou une question (deux questions)? C'est à peu près une réponse de lien seulement, si c'est une réponse. En tant que tel, il risque d'être supprimé. Voir emacs.stackexchange.com/help/how-to-ask .
Drew
1
@Drew, fwiw Je pense que ceci est juste un problème de langage / interprétation. Treemacs est une suggestion tout à fait acceptable à la question du PO.
EdwardGarson