如何解决使用 Emacs 作为 IDE?

您必须具体说明“其余”的含义。除了对象检查器(我知道)之外,emacs 很容易完成上述所有操作:

  • 编辑(明显)
  • 编译器 - 只需运行M-x compile并输入您的编译命令。从那里开始,您可以只M-x compile使用认值。Emacs 将捕获 C/C++ 编译器错误(最适合 GCC)并帮助您导航到带有警告或错误的行。
  • 调试 - 同样,当您要调试时,键入M-x gdb它会创建一个带有特殊绑定的 gdb 缓冲区
  • 文档查找 - emacs 具有出色的代码导航 CScope 绑定。对于其他文档:Emacs 也有一个手册页阅读器,对于其他一切,还有网络和书籍。
  • 版本控制 - 有很多 Emacs 绑定用于各种 VCS 后端(CVS、SCCS、RCS、SVN、GIT 都浮现在脑海中)

编辑:我意识到我关于文档查找的答案确实与代码导航有关。这里有一些更中肯的信息:

谷歌搜索无疑会揭示更多的例子。

正如第二个链接所示,即使不支持开箱即用,也可以在其他文档中查找函数(以及其他内容)。

解决方法

目前,当我使用 C 或 C++ 进行编码时,我使用 Emacs
的工作流程涉及三个窗口。右侧最大的包含我正在使用的文件。左边一分为二,底部是我用来输入编译或制作命令的外壳,顶部通常是我在工作时想查阅的某种文档或自述文件。现在我知道那里有一些非常专业的
Emacs 用户,我很好奇如果打算将 Emacs 用作完整的 IDE,其他 Emacs 的功能还有什么用处。具体来说,大多数 IDE
通常以某种形式实现这些功能:

  • 源代码编辑器
  • 编译器
  • 调试
  • 文档查找
  • 版本控制
  • OO 功能,例如类查找和对象检查器

对于其中的一些,很明显 Emacs 是如何适应这些功能的,但其余的呢?此外,如果必须专注于特定语言,我会说它应该是 C++。

编辑: 一位用户指出,当我说“其余的呢”时,我应该更具体一些。大多数情况下,我对有效的版本控制以及文档查找感到好奇。例如,在 SLIME 中,对
Lisp 函数进行快速的超规范查找是相当容易的。有没有一种快速的方法可以在 C++ STL
文档中查找某些内容(例如,如果我忘记了hash_map的确切语法)?