使用 Emacs 作为 IDE

2024-01-09

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

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

对于其中的一些功能,Emacs 如何适应这些功能是非常明显的,但是其余的呢?另外,如果一定要关注某种特定的语言,我认为应该是C++。

Edit:一位用户指出,当我说“其余的呢”时,我应该更具体。我主要对高效的版本控制以及文档查找感到好奇。例如,在 SLIME 中,对 Lisp 函数进行快速超规范查找相当容易。有没有一种快速的方法可以在 C++ STL 文档中查找某些内容(如果我忘记了确切的语法)hash_map http://www.sgi.com/tech/stl/hash_map.html, 例如)?


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

  • 编辑器(显而易见)
  • 编译器 - 只需运行M-x compile并输入你的编译命令。从那时起,您就可以M-x compile并使用默认值。 Emacs 将捕获 C/C++ 编译器错误(与 GCC 配合使用效果最佳)并帮助您导航到有警告或错误的行。
  • 调试 - 同样,当你想调试时,输入M-x gdb它会创建一个带有特殊绑定的 gdb 缓冲区
  • 文档查找 - emacs 具有出色的 CScope 绑定用于代码导航。对于其他文档:Emacs 还有一个联机帮助页阅读器,对于其他所有内容,还有网络和书籍。
  • 版本控制 - 有很多针对各种 VCS 后端的 Emacs 绑定(CVS、SCCS、RCS、SVN、GIT 都可以想到)

编辑:我意识到我关于文档查找的答案确实与代码导航有关。以下是一些更重要的信息:

  • 从 emacs 中查找联机帮助页、信息手册和 Elisp 文档 http://www.delorie.com/gnu/docs/emacs/emacs_289.html
  • 从 Emacs 中查找 Python 文档 https://bitbucket.org/jonwaltman/pydoc-info.

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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Emacs 作为 IDE 的相关文章

  • ESS 在 Windows 上找不到 Rterm.exe

    我将 R 安装在名为 X alphaAndOmega R R 的目录中 所以Rterm exe 32位版本 位于 X alphaAndOmega R R bin i386 我知道它不是 标准 R 目录 并且 标准 R 目录 例如 R 3 0
  • Emacs 关于 python 模式函数的默认提示

    在 python 模式下 有一个名为 py execute region 的函数 它将突出显示的代码区域发送到 Python 缓冲区进行评估 评估后 光标位于 Python 缓冲区中 但我希望它保留在脚本缓冲区中 以便我可以继续生成更多代码
  • 有没有办法在 JetBrains“运行配置”中仅运行“外部工具”

    JetBrains IDE 中的所有 或几乎所有 运行配置 都提供了一个选项来运行 外部工具 作为其执行的一部分 有没有办法only在运行配置中运行外部工具 不知道为什么你需要它 我可以建议尝试 Bash 支持插件 http plugins
  • 解决 emacs 错误的想法:“应用:生成子进程:exec 格式错误”

    我正在尝试将 rdebug 与 emacs 和 cygwin 一起使用 但遇到了麻烦 每当我执行 M x rdebug 并为其提供适当的脚本来运行时 它都会因错误而停止 apply Spawning child process exec f
  • Netbeans 将 css 变量显示为错误

    当我使用 css 变量时 我的 Netbeans IDE 显示错误 例如 这行代码将返回错误 root main bg color dad66f title color var main bg color 我在网上找到了这个解决方案 htt
  • windows下无法用emacs + sbcl启动slime

    我想配置我的 emacs 以使用 SLIME 和 SBCL emacs 文件如下所示 add to list load path D app slime setq inferior lisp program sbcl require sli
  • Visual Studio Professional 2013 Update 5 中的“在线服务不可用”问题

    我一直在 vscode 2013 工作直到今天 但是 当我今天早上尝试打开 IDE 时 它收到 您的许可证已过时 必须更新 错误消息 如下所示 在我尝试更新许可证和登录操作之后 当我尝试这两个时 它得到 在线服务不可用 请稍后重试 错误消息
  • emacs 启动后更改 X11 窗口标题

    当我启动 emacs 时 我可以使用 title 选项来控制保存 emacs 应用程序的 x 窗口的标题 emacs从elisp启动后可以更改标题吗 M x set frame name NewName RET 和来自 elisp set
  • “完美”的 Python 调试器具有哪些功能? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 请告诉我您希望当前的 Python 调试器具有哪些功能 我正在创建一个新的 Python IDE 调试器 并期待着具有挑战性的请求 请原谅我无耻
  • 如何从 Emacs 中运行 Cygwin Bash Shell?

    我在 Windows 上运行 GNU Emacs 因此输入 M x shell 启动 Windows 命令行 DOS shell 但是 我希望能够从 Emacs 中运行 Cygwin Bash Shell 或任何其他非 Windows sh
  • “无法从构建环境获取 Google 服务文件中的 GOOGLE_APP_ID”错误

    我正在使用下面的指南为我的使用 flutter firebase 的项目设置开发和生产环境https www tengio com blog multiple firebase environments with flutter https
  • 如何使用 emacs prettify-symbols-mode?

    我有 emacs 版本 25 0 我启用prettify symbols mode 然后输入 lambda t 但它并不能美化 我该如何使用这个模式 还有哪些符号可用以及如何配置它 任何参考都值得赞赏 Edit 什么也没发生在scratch
  • Aptana Studio 与 Eclipse [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • emacs 的最佳 java 工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在 Emacs Paredit 中交换括号和方括号

    如何在 paredit 模式下定义交换括号和方括号的命令 所以任务就是把它变成这样 例如 blah a b c 进入这个 blah a b c 使用 paredit 模式 移至表达式的开头 a 进而 C M SPC
  • Kendo 有 GUI 设计师吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 Kendo 有没有像 Sencha Architect for Ext JS 这样的控件布局设计工具
  • 让 Emacs ansiterm 和 Zsh 更好地发挥作用

    我一直在尝试在 emacs 会话中使用 Zsh 而无需 emacs 重新映射所有 Zsh 键 我发现 ansi term 对此非常有效 但是我仍然遇到一些问题 我输出了很多垃圾字符 我可以用以下方法修复它 Setup proper term
  • 设置 Emacs 进行 Erlang 编程

    Emacs 是 Erlang 编程的首选 IDE 有很多好的模式 distel erlware mode 默认的 erlang 模式 但是您对设置 Emacs 进行专业 Erlang 开发有何建议 按照中所述设置 erlang mode自述
  • 配置jedi不自动完成?

    我在 emacs 中安装了 jedi mode 来进行 python 编辑 因为我发现C and C 对于跳转到定义并返回非常有用 然而 自动完成并不是我想要的 当我尝试在安装了 jedi 的情况下使用 emacs 时 它会不断尝试提供建议
  • 为程序员设置 Mac [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi

随机推荐