使用 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 的相关文章

  • Emacs 强制组织模式捕获缓冲区在新窗口中打开

    如何强制组织模式的捕获缓冲区在新窗口中打开 我试过 setq special display regexps Capture 但它不起作用 我立即看到一个新窗口 然后 org mode 进行两个垂直分割 我使用 3 个垂直分割 并将捕获缓冲
  • 在 Eclipse 中突出显示修改的行

    在 netbeans 中 如果我打开一个受版本控制的文件 则修改的行会在左侧突出显示 绿色表示新行 蓝色表示修改行 在Eclipse中是否可以得到类似的效果 打开首选项窗口 搜索 差异 选择快速差异 将 使用此参考源 更改为 SCM 提供程
  • 设置 Emacs 进行 Erlang 编程

    Emacs 是 Erlang 编程的首选 IDE 有很多好的模式 distel erlware mode 默认的 erlang 模式 但是您对设置 Emacs 进行专业 Erlang 开发有何建议 按照中所述设置 erlang mode自述
  • emacs 临时文件的 .gitignore 正则表达式

    我正在尝试 gitignore emacs 临时 自动保存文件 我在用着 在我的 gitignore 中 But git add A在子文件夹中运行仍然给我 new file make collections py new file nor
  • 如何在 emacs lua-mode 中配置缩进?

    完整的 emacs 新手在这里 我在 Ubuntu 上使用 emacs 23 1 1emacs 入门套件 https github com technomancy emacs starter kit 我主要在 lua 模式下工作 安装了pa
  • 从一个文件重新归档到另一文件

    我正在尝试基于 emacs 实现 GTDhttp members optusnet com au charles57 GTD gtd workflow html http members optusnet com au charles57
  • R 编程常用工具

    如果已经以不同的方式问过这个问题 我深表歉意 但我找不到任何达到我想要的东西 我真的是从其他软件包 SPSS 开始接触 R 的 当我了解真正可以做什么时 我意识到我还需要其他 工具 这让我想到了我的问题 您有哪些用于开发 R 代码的设置 我
  • emacs 是否有类似 vims 的 NERDtree 之类的东西

    对于 vim 有一个名为 NERDtree 的文件系统浏览器 https github com scrooloose nerdtree https github com scrooloose nerdtree Emacs 确实存在替代或更好
  • 在 Eclipse 中隐藏重复的工具栏项

    我不知道如何 但我的 STS 有重复的工具栏项目 我不知道如何删除它们 这是我复制的工具栏的样子 我想摆脱这些 我试图隐藏工具栏 但这没有帮助 有人知道如何删除重复的吗 自从升级到 Oxygen 以来 我一直遇到同样的问题 我无法可靠地重现
  • SBCL初始化文件

    我想知道应该在哪里保存 sbclrc 文件 我尝试将其保存在我的 sbcl 文件夹中 但它似乎不起作用 我使用的是 Windows XP 和 Emacs 版本 23 我正在尝试设置 asdf install 这就是为什么我要修改初始化文件
  • emacs 去掉 shell 中的所有 ansi 颜色代码

    我在 OS X 上使用 emacs 24 但遇到了一个奇怪的问题 我看不到任何颜色代码 Emacs 似乎只是忽略它们 我的动机是查看 C 项目的 cmake llvm 和 googletest 框架的彩色输出 我想在编译模式下查看颜色 但是
  • ido-mode 绑定被全局设置键屏蔽

    堆栈溢出 在过去的几天里 我试图稍微定制一下我的 emacs 但我遇到了我不知道如何解决的问题 我想做的是定义一个全局键绑定和一个 ido 模式键绑定 它们将使用相同的键来做不同的事情 Ido 模式键绑定定义如下 defun ido my
  • 如何使用 ClangCodeModel 插件在 QtCreator 中设置 C++ 标准?

    抱歉 如果这是一个愚蠢的问题 但我已经尝试了几乎所有的方法 现在正在用头撞墙 问题是 带有 Clang 代码模型插件的 QtCreator 4 8 0 beta for Windows 解析我的项目 为 C 98 而实际上它是 C 17 但
  • 防止 paredit 在插入括号时插入空格 - 以及其他问题

    我爱帕雷迪 但有一些事情我讨厌 而且还没有解决 打开括号会插入一个空格before括号 我知道这可能是整个互联网的首选风格 但它不是我的 如何避免这种情况呢 当位于引用区域内时 我无法回删除 另外 输入双引号 将插入一个反斜杠 显然是为了转
  • 在 emacs org-mode 中仅延迟加载前 N 行

    有没有办法告诉 org mode 仅加载长文本文件的前 N 行 我想保持整个文件打开以便能够搜索它 但在文件的前 N 行上显示组织模式 这是我编辑新内容的地方 如果您在组织模式下有结构化大纲 则可以使用以下命令设置全局文件可见性 START
  • Emacs 打字骨架对插入也许

    在 Eclipse 中 编辑 Java 代码时 如果我输入一个左括号 我会得到一对括号 如果我然后 输入 第二个括号 它不会插入额外的括号 我如何在 emacs 中得到它 Eclipse 编辑器足够聪明 当我输入闭括号时 它知道我刚刚完成了
  • 有关 HTML 和 PHP 开发工具的帮助

    我是网络开发新手 我有使用原始 HTML 的经验 使用记事本 但我计划为我的最后一年项目制作一个网站 我之前曾就其想法提出过问题 现在我需要一些开发部分的帮助 我可以使用哪种工具来设计网站 请建议一些易于使用且功能强大的工具 利用这些工具我
  • Emacs:导航目录和打开文件的好策略是什么?

    上周 由于必须应对 R 和 Perl 的不同 IDE 我再次感到愤怒 我不喜欢这两种 IDE 也没有使用它们来真正适应 所以我决定尝试 Emacs 我做出这个决定并非没有一定的恐惧 我的主要用途是使用 cperl 来使用 Perl 以及使用
  • 使用 emacs24 通过 smtp 使用 gnutls 和额外参数发送电子邮件

    我在使用 posteo 电子邮件帐户从 emacs24 发送电子邮件时遇到了一个相当奇怪的问题 但使用 gmail 和 gmx 似乎一切正常 这是我当前 emacs 配置的相关部分 感觉就像我将其排列了一百万次 结果始终相同 require
  • Elisp 获取函数数量?

    我希望能够做到 function arity intern expt 我用谷歌搜索了这个解决方案https github com emacsmirror parser blob master parser fn el https githu

随机推荐