【问题标题】:How do I see the list of open files within Emacs? Or browse a directory within Emacs?如何查看 Emacs 中打开的文件列表?或者浏览 Emacs 中的目录?
【发布时间】:2008-09-15 17:12:49
【问题描述】:

大多数文本编辑器都有一个导航窗格,可让您查看当前打开的所有文件。或者让您浏览文件目录的窗格。

我如何在 Emacs 中做到这一点?

【问题讨论】:

    标签: emacs


    【解决方案1】:

    尝试 Ctrl-x 后跟 Ctrl-b(在 Emacs 术语中 C-x C-b)列出缓冲区。

    【讨论】:

      【解决方案2】:

      C-x C-b 将打开*Buffer List* 缓冲区。在该缓冲区中,您可以使用常用键 C-pC-nup-arrowdown-arrow 导航等。

      浏览目录就像编辑文件一样简单。只需打开目录而不是文件。在我的 Linux 机器上,C-x C-f /tmp ENTER 打开一个目录,而 C-x C-f /tmp/myfile ENTER 打开一个文件。

      【讨论】:

        【解决方案3】:

        C-x d 访问目录编辑器。 C-x C-f 如果你给它一个目录而不是一个文件,它也会这样做。

        还有ibuffer-mode,它可以让您以与 Dired 非常相似的方式处理打开的缓冲区:http://www.emacswiki.org/cgi-bin/wiki/IbufferMode

        它包含在最新版本的 Emacs 中,因此您可能不必单独下载它:首先尝试 M-x ibuffer

        【讨论】:

          【解决方案4】:

          M-x speedbar (speedbar website) 将弹出一个 emacs 框架,根据您所在的缓冲区列出当前目录的内容。框架很小并且不碍事这样您在编辑文件时就可以随时查看它。它还可以使用变量speedbar-supported-extension-expressions 根据文件类型过滤此显示。要查看所有速度条选项,请键入 M-x customize-group RET speedbar RET

          【讨论】:

            【解决方案5】:

            如果您有兴趣查看目录、源、方法等的树状结构,请尝试使用 emacs 代码浏览器 http://ecb.sourceforge.net/

            【讨论】:

              【解决方案6】:

              C-x b TAB 将自动完成所有打开的缓冲区。或者,如果您使用的是窗口版本,请单击 Buffers 菜单项(不确定是否有等效的终端)。

              编辑:另外 C-x C-f 会让你打开一个文件,你可以使用 TAB 来自动完成,然后再次 TAB 来查看文件当前目录中的 /directories(假设第一个选项卡没有自动完成某些内容)。

              【讨论】:

                【解决方案7】:

                使用 diredit 浏览目录时,请考虑使用 a 而不是 RET 来更改目录。

                否则,每个新目录都会在一个新缓冲区中访问,这会很快使您的缓冲区列表变得混乱。

                【讨论】:

                  【解决方案8】:

                  M-x shell打开一个可以浏览目录的shell

                  【讨论】:

                    【解决方案9】:

                    如果您只是在寻找文件而不是任何其他缓冲区,请查看 file-history.el

                    https://github.com/akicho8/file-history

                    【讨论】:

                      【解决方案10】:

                      我刚刚发现了neotree 包,它显示了根目录中所有文件的树。访问neotree 缓冲区中的文件会打开它们,如果它们已经打开,则切换到缓冲区。

                      neotree 可以通过

                      安装
                      M-x package-install Ret neotree
                      

                      或来自其gitbub 存储库。

                      【讨论】:

                        【解决方案11】:

                        你可以试试sidebar

                        【讨论】:

                          【解决方案12】:

                          我经常需要在“当前目录”中找到另一个文件,即。我正在编辑的文件的目录。

                          为了在 diredit 中快速打开这个目录,我使用:

                          C-x C-f C-j

                          【讨论】:

                            【解决方案13】:

                            【讨论】:

                              【解决方案14】:

                              另外,如果您想删除打开缓冲区的列表,请键入 C-x 1

                              【讨论】:

                              • 约翰,仅供参考,您应该能够编辑您的回复以添加其他信息 :-)
                              猜你喜欢
                              • 1970-01-01
                              • 1970-01-01
                              • 2011-01-03
                              • 1970-01-01
                              • 2013-06-04
                              • 1970-01-01
                              • 1970-01-01
                              • 2010-12-15
                              • 2013-10-17
                              相关资源
                              最近更新 更多