Есть ли средство emacs, чтобы показать структуру каталогов как дерево?

Мне известно о Speedbar (я предпочитаю структуру в том же фрейме, что и остальная часть моей работы), и в режиме устного перевода отображается слишком много информации. Я за чем-то вроде представления дерева svn-status. Есть ли что-нибудь подобное? Спасибо.

EDIT: вот что я нашел наиболее интуитивным:

Я использую Speedbar со следующим хаком из здесь. Мне пришлось использовать прокомментированную часть "попробуйте эту", FYI.

  (require 'speedbar)
  (defconst my-speedbar-buffer-name "SPEEDBAR")
  ; (defconst my-speedbar-buffer-name " SPEEDBAR") ; try this if you get "Wrong type argument: stringp, nil"
  (defun my-speedbar-no-separate-frame ()
    (interactive)
    (when (not (buffer-live-p speedbar-buffer))
      (setq speedbar-buffer (get-buffer-create my-speedbar-buffer-name)
            speedbar-frame (selected-frame)
            dframe-attached-frame (selected-frame)
            speedbar-select-frame-method 'attached
            speedbar-verbosity-level 0
            speedbar-last-selected-file nil)
      (set-buffer speedbar-buffer)
      (speedbar-mode)
      (speedbar-reconfigure-keymaps)
      (speedbar-update-contents)
      (speedbar-set-timer 1)
      (make-local-hook 'kill-buffer-hook)
      (add-hook 'kill-buffer-hook
                (lambda () (when (eq (current-buffer) speedbar-buffer)
                             (setq speedbar-frame nil
                                   dframe-attached-frame nil
                                   speedbar-buffer nil)
                             (speedbar-set-timer nil)))))
    (set-window-buffer (selected-window) 
                       (get-buffer my-speedbar-buffer-name)))

Ответы

Ответ 2

Итак, я хотел просто распечатать дерево быстро, и все решения на основе Emacs казались либо довольно старыми, либо массивными (ECB/CEDET), о которых я не знаю достаточно, поэтому для быстрого исправления я сделал

sudo apt-get install tree

затем из буфера с буфером

M-! tree --dirsfirst RET

вуаля! дерева каталогов без каких-либо конкретных библиотек, в качестве дополнительного бонуса с использованием tree -f выводит дерево с полными путями, что делает очевидным переход к файлу с помощью C-x C-f непосредственно из выходного буфера дерева.

Ответ 3

Здесь Emacs Code Browser. Последнее, что я слышал, что использование его с текущими emacs может быть сложным или трудным, потому что оно использует некоторые инструменты, которые недавно были интегрированы в Emacs через CEDET.

Ответ 4

Я бы рекомендовал NeoTree. Он прост в установке и прост в использовании.

NeoTree screenshot, from EmacsWiki