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?


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:


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.


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.


7

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


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.


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


1

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


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.