【问题标题】:Emacs keep opening lots of buffers (Clojure)Emacs 不断打开大量缓冲区(Clojure)
【发布时间】:2016-04-30 22:06:18
【问题描述】:

我是 Clojure 的初学者,出于某些原因,我认为 Emacs 将是一个不错的选择,因为它在 clojure 中的使用。

但真正让我烦恼的是 Emacs(用于处理 Clojure 项目)打开了一堆缓冲区。即,当我单击“读取目录以对其文件进行操作”并选择 lein 的项目根目录时,我需要选择 myproject.core.clj 并且 Emacs 将所有超级目录保持在其他缓冲区中打开。在使用 cider 进行编译并使用许多 clj 文件时,在所有这些缓冲区中不断交替是很痛苦的。

如何限制 Emacs 打开的缓冲区数量?

(我知道 C-x k)

(如有英文错误,请见谅)

【问题讨论】:

  • 这是emacs设计的基础部分,对于选择继续使用emacs的人来说,典型的选择是寻找更好的选择缓冲区的方法

标签: emacs clojure cider


【解决方案1】:

当我第一次开始使用 Emacs 时,我遇到了很多同样的问题。解决方案是使用C-x bC-x C-b 以外的东西在缓冲区之间切换。特别是:

  • 我使用ProjectileC-c p f 切换到我项目中的任意文件。它工作得非常好,因为它考虑了您的.gitignore。在某些情况下,这可能是annoying,但在大多数情况下它工作得很好。
  • 我使用project-explorer 浏览项目中所有文件的树形视图。 project-explorer 的忽略功能不如 Projectile 的好,但您可以在需要时使用 M-o 切换它们,这是 Projectile 没有的功能。 project-explorer-open 没有默认绑定,所以我绑定到 C-x p
  • 我使用 Ido 和 ido-ubiquitous 使所有选择命令(包括 C-c p f)更易于使用。
  • 如果您丢失了 CIDER 中的 REPL 缓冲区,您可以使用 C-c C-z 立即将其取回。
  • 如果您面前已经有多个窗口,windmove 提供了一种非常快速的方式来在它们之间切换。

无论如何,您通常最终会得到很多打开的缓冲区,但由于您现在可以轻松地在它们之间切换,所以这不再是问题。您可以在 my personal Emacs config 中找到此类设置的完整示例。

【讨论】:

  • 你好!谢谢你的回答。你知道是否有更直观的 Emacs 版本,就像其他文本编辑器一样,但所有 Emacs 都是“很酷的东西”?
  • 这真的取决于你所说的“直观”。显然,Emacs 一开始可能看起来不直观,但是在您使用它一段时间后,您就会对它产生一种直觉。还是您有一些特定的功能?
  • “普通”键绑定、repl、代码高亮、自动完成等。不多。只是一个很好的文本编辑器,支持 clojure 和 repl。
  • 至于键绑定:在这种情况下,您可以“正常”高效。如果前者对你更重要,我建议你使用 Emacs 以外的东西。我不确定您所说的“repl、代码突出显示、自动完成等”是什么意思; CIDER 可以说是可用的最好的 Clojure REPL,具有不错的代码突出显示。结合使用 CIDER 和 Company,您可以获得相当不错的自动完成功能。
  • 嗯……我明白了。我习惯了括号、sublime、visual studio 等。Emacs 真的 不同。我会试一试,但我正在考虑使用 Cursive(但要为商业用途付费)。
【解决方案2】:

就个人而言,我使用C-x C-f 来打开文件,并且不用为目录打开缓冲区而烦恼。

【讨论】:

    猜你喜欢
    • 2010-09-19
    • 2014-10-17
    • 2017-07-28
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    相关资源
    最近更新 更多