2

我有两个关于在 Linux 中使用 Emacs/VIM 编写 Haskell 的问题:

  1. 如果想将一个 haskell 代码库组织成多个项目(给定项目的文件存储在特定文件夹中),那么 emacs 和 vim 可以处理吗?原因是我之前使用过 IDE,所有项目都一次加载到会话中,但不确定这对 Emacs/VIM 将如何工作。

  2. IDE 的另一个好处是我可以从给定项目中定义函数,即使该函数定义在单独的项目中(即存储在单独的文件夹中)。Emacs/VIM 可以处理这个吗?

这里有一些讨论:Haskell IDE for Windows?

4

3 回答 3

3
  1. VIM/Emacs 不关心你如何组织你的文件。它们主要是编辑器,因此无论您如何布置目录结构,您都可以使用它们来编辑文件。除此之外,最好遵循一些标准约定,或者为您将要使用的工具调整结构。您可以查看Haskell 项目的结构使用Cabal构建项目并管理其依赖项也很方便。
  2. VIM/Emacs 可以使用Ctags索引文件在您的项目中导航。有关如何创建这些索引文件的可用选项,请参阅标签。索引工具不需要任何特定的项目结构,因此如果您需要在多个项目中导航,您只需将包含多个项目的目录索引到一个索引文件中即可。
于 2012-08-09T09:48:56.313 回答
2

有一个名为Projectile的 Emacs 模式,它允许一些“类似项目”的功能,这可能是您正在寻找的。我自己并没有真正使用过它(我倾向于坚持只编辑文件的旧 *nix 方式),所以我不能给你详细信息,但看看它不会有坏处。

于 2012-08-09T20:55:53.053 回答
0

不确定我是否正确理解了问题的要点。以下是我对 Vim 中多个项目管理问题的建议,不考虑所使用的语言。

您可以利用 vim 会话。使用 .vimrc 中的一些自定义函数/键映射,您将能够为每个项目保留一个单独的会话文件,无论是在项目目录中,还是在您专用于会话文件的目录中。

这是一般的操作方法:http: //vim.runpaint.org/editing/managing-sessions/ 在那里你会发现一些专门解决处理多个项目特定会话问题的脚本:How to auto在退出时保存vim会话并在启动时自动重新加载,包括拆分窗口状态?

于 2013-02-25T18:48:12.283 回答