4

我对emacs很陌生,我正在尝试获取目录树。我关注了另一个StackOverFlow Emacs 脏问题,我的 .emacs 和 .emacs-d 如下:

.emacs

;; line number plugin
(add-to-list 'load-path' "~/.emacs-load-path")
(require 'linum)
(global-linum-mode 1)
;; auto complete plugin
(add-to-list 'load-path "~/.emacs.d")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/ac-dict")
(ac-config-default)
;; directory tree plugin
(add-to-list 'load-path "~/.emacs.d")
(require 'dirtree)
(require 'tree-mode)
(require 'windata)
(autoload 'dirtree "dirtree" "Add directory to tree view" t)

.emacs.d

dirtree.el
tree-mode.el
windata.el

我的问题是:

  1. 我是否正确设置了它,如果没有,我需要做什么?

  2. 你如何在 emacs 中启动和使用 ditree?

4

2 回答 2

8

我测试了您的设置(尽可能接近),它可以很好地加载污垢函数(和依赖项)。ditree.el 文件尝试将 Cntl-o ( \C-o) 映射到dirtree-display函数,但在我的系统上该函数失败。

令人高兴的是,该功能dirtree-show运行良好。要手动调用它:

  1. M-x(键入 Alt-x 或 Esc-x)
  2. 类型:dirtree-show
  3. 命中返回
  4. 它将提示您显示目录 - 点击 Return 以显示当前文件的目录
  5. 脏树显示将在左侧的框架中弹出

查看“树”菜单(如果您在 emacs 中显示菜单),它将显示您可以使用的击键快捷键。(例如,“e”将切换当前节点的展开/折叠。)

如果您不想M-x dirtree-show每次都键入,则可以将击键绑定到它。我在我的 .emacs 中像这样绑定了 Cntl-o:

(global-set-key "\C-o" 'dirtree-show)

所以我对污垢的完整设置是这样的:

(require 'tree-mode)
(require 'windata)
(require 'dirtree)
(autoload 'dirtree "dirtree" "Add directory to tree view" t)
(global-set-key "\C-o" 'dirtree-show)

此外,据我所知(autoload 'dirtree "dirtree" "Add directory to tree view" t),基本功能不需要该行,但对于我未使用的某些功能可能需要它。

最后,为了确保我们在同一页面上,我从https://github.com/zkim/emacs-dirtree下载了所有的 .el 文件。

于 2012-03-03T15:05:41.430 回答
5

试试NeoTree。它易于安装且易于使用。

NeoTree 截图,来自 EmacsWiki

于 2015-04-27T14:59:02.633 回答