Древовидный каталог каталогов?

38

Я люблю dired, но иногда (особенно при съемке скринкастов) я хочу увидеть древовидную структуру каталога и его дочерних элементов, а-ля команда tree (1). Есть ли в Emacs браузер дерева, ориентированный на каталоги?

AVDI
источник
Уверен, что ECB может сделать это.
Эдгар Арутюнян
2
@EdgarAroutiounian Если это так, я рекомендую сделать ответ из этого :)
Trevoke

Ответы:

23

Кроме того, вы можете использовать dired-поддерево из репозитория dired-hacks .

Здесь у вас есть небольшая демонстрация и скриншот из моей настройки, где я нажимаю, iчтобы развернуть папку и ;вернуться назад.

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

Dired-поддерево

PS Я также знаю о DirectX, который выглядит так Direx:

kmicu
источник
Я пробовал dired-поддерево, но древовидная структура была не так визуально очевидна, как я искал. Direx выглядит отлично, но я пойду попробую.
Авди
Я этот, потому что предложение Direx выглядит идеально для моего случая использования визуализации дерева каталогов спереди и по центру. Это не должно сбрасывать со счетов превосходные предложения @ keelerm все же.
Авди
Вы можете получить эквивалентную функциональность, используя одну привязку ключа: (define-key dired-mode-map "i" 'dired-subtree-toggle). Мне нравится отображать его на "Cc i", хотя, поскольку dired также вставляет подкаталог, используя "i".
Джо
22

Есть несколько вариантов для этого.

Вы можете проверить грязи , которая основана на Dired.

Существует также emacs-порт VER NERDTree, называемый neotree .

Оба являются отличными пакетами, хотя я предпочитаю neotree, так как он имеет удобные привязки, позволяющие создавать и удалять файлы и каталоги. Я не верю, что у dirtree есть такая поддержка, хотя я могу ошибаться. Прошло много времени с тех пор, как я последний раз использовал его.

keelerm
источник
Спасибо, хотя direx выглядит идеальным для моей насущной необходимости, вы напомнили мне, что мне нужно провести некоторое время с neotree.
Авди
9

Вы можете вызвать diredс аргументом, т.е. C-u C-x dи после запроса каталога, он также позволит вам изменить передаваемые ключи ls. Добавьте Rи diredрекурсивно перечислите все подкаталоги, каждый в своем собственном разделе.

Если вы хотите видеть только содержимое некоторых подкаталогов, нажмите, iкогда точка находится на имени каталога.

Вы также можете использовать find-diredкоманду с или без переключателей. Вместо отображения подкаталогов в своем собственном разделе он печатает полный путь каждого файла. Вы можете переключать отображение сведений о файле (так, чтобы длинные пути располагались горизонтально на экране.

Это все встроенные.

Файл не найден
источник
7

Вы когда-нибудь пробовали Emacs M-x speedbar? :-) перед установкой нового пакета я бы попробовал встроенное решение ...

Dieter.Wilhelm
источник
1
... и еще одно возражение за предложение встроенного.
ГергелиПолонкай,
4

Существует также Ztree . Я использую его, когда мне нужно взглянуть на структуру каталогов, хотя обычно я использую vanilla Dired для всех других вещей.

Марк Карпов
источник
1

Посмотрите на sidebar.el .

Как сказал репозиторий, это настраиваемый файловый менеджер с интеграцией git, но не только. Вы также можете получить список буферов и ваших maildirs с mu4e.

введите описание изображения здесь

azzamsa
источник
1

Работает ли Treemacs . Это позволяет иметь древовидную структуру.

decabytes
источник
Это ответ или вопрос (два вопроса)? Это в значительной степени ответ только для ссылок, если это ответ. Как таковой, он рискует быть удаленным. См. Emacs.stackexchange.com/help/how-to-ask .
Дрю
1
@Drew, fwiw Я думаю, что это просто вопрос языка / интерпретации. Treemacs - абсолютно приемлемое предложение к вопросу OP.
Эдвард Гарсон