【问题标题】:IDE typing mode, emacs or vim [closed]IDE打字模式,emacs或vim [关闭]
【发布时间】:2013-12-18 19:15:50
【问题描述】:

首先,这不是关于 emacs 与 vim 的问题。我使用 eclipse IDE 进行编程,我打算继续使用它。在阅读了 emacs 和 vim 的许多优点之后,尤其是能够在不使用鼠标的情况下做几乎任何事情的能力之后,我想在我的 eclipse IDE 中使用类似的打字/编辑方案; 我知道有可用的插件 eclipse 可以将编辑样式更改为 emacs 或 vim(emacs+、vrapper 等等)。

由于我打算继续使用 eclipse,vim 和 emacs 的各种优势,如小内存占用、vim/elisp 脚本、不同平台上的可用性、可配置性等都失去了。我只想将文本编辑方案导入 eclipse 并掌握它,同时保留 eclipse 的所有功能。

所以,我想客观比较一下仅使用 emacs 和 vim 的文本编辑样式的优缺点。

编辑:我不能离开 eclipse 的原因是因为我的公司使用定制版本的 eclipse,它有特定的插件和 dsls 来与我们的产品(硬件)交互

【问题讨论】:

    标签: eclipse vim emacs


    【解决方案1】:

    我无法离开 eclipse,因为我的公司使用的是自定义版本的 eclipse

    请注意,Vim 不是 IDE(搜索会引发对该主题的各种讨论),因此不存在这种二分法。您可以很好地同时使用 both Vim(用于文本编辑)和真正的 IDE(用于调试、源代码浏览等)。一个简单的“在 Vim 中启动当前文件”集成很快就完成了,您已经注意到有几个插件将基本的键绑定(但不是巨大的可定制性)引入 IDE。

    另外,令我感到奇怪的是,您还没有对 Vim 与 Emacs 的先入之见。大多数人都非常喜欢他们的键绑定,以至于他们也希望在他们的 IDE 中使用它们。您似乎只是“听说过”这些优势,但还没有体验过。

    我的建议:将 IDE 用于工作(无论如何,你必须这样做),并同时尝试 Vim(以及 Emacs),也许可以用于娱乐任务、编写一些脚本、写博客等等。然后,您可以亲眼看看您是否会“迷上”其中一个,或者 IDE 是否适合您。此外,时间会证明一个简单的集成是否足够,或者您是否想要像 Eclim 项目这样紧凑而深入的东西。

    【讨论】:

    • 我选择学习vim,对于eclipse我使用vrapper :)
    【解决方案2】:

    关于vim我只能说一下,我用过一次emacs,但是好像和我不兼容。虽然我真的很喜欢 lisp 方言的方案。 Vimscript 是一个可怕的编程,但它是可能的。

    vim 提供的主要功能是它为文本添加了超出您语言语法的结构。您可以使用 vim 的动作来操纵、编辑和转换您的文本。这些是 vim 的核心,必须好好学习。这种模式的组合,使 vim 成为一个强大的文本编辑工具。

    另一方面,对于代码编辑,vim 需要一些修改才能有用。你会进行相当多的配置。大多数人将他们的 vim 配置保存在防火和防弹的保险箱中,这样他们就不会丢失他们痛苦地构建的选项、插件和其他配置用具堆栈。那包括我在内。 vimrc 非常个人化。 Emacs 更容易配置。我可以更快地拿起它。

    您必须学习大量知识才能使用它。 Emacs 更简单,你可以立即使用它。我第一次遇到 vim 是无法离开该死的程序,无论我做什么。我的第二次遇到,小心地点击 i 并输入一些文本并快速点击:wq。但后来某处突然想驯服它。

    Vim 有宏,可以让很多文本转换任务变得有趣。例如。这会删除一行末尾的 al 空格,我有时会运行一些东西来阻止 pylint 关于空格的唠叨:

    qs:g/ $/s///g<CR>@sq
    

    您应该将其理解为:在寄存器 s 中记录一个宏,将末尾的所有空格全局替换为空,在寄存器 s 中应用宏,停止记录。击球时:

    @s 
    

    此宏将无限运行,直到您满意为止。我还想找一个,在他追完最后一个空位后就停了。这使 vim 变得有趣,它是一种带有一个字母命令的小语言。您可以将字母组合在一起:

    4f,d$
    

    这意味着找到他的第 4 个逗号 (,) 并删除 (d) 从那里到结尾 ($) 的行。这使它非常有吸引力。

    我个人会选择 vim,但你必须尝试编辑器。他们有不同的哲学,其中一种会咬你,另一种看起来很合理。我不相信你会发现很多人同时使用并掌握两者。它们都可用作代码编辑器。

    我的愿望清单上还有 emacs,也许我会换掉。

    【讨论】:

    • 如果我的理解是正确的,这个宏还有一个更简单的替代方法::%s/\s\+$//
    【解决方案3】:

    我建议reading these answers,因为它们包含两者之间的大量差异(尽管提到的很多好处对你来说并不重要)。我强烈建议尝试一下。

    你会注意到一个很大的不同是 Vim 使用modes,这使得它具有很高的初始学习曲线,而 Emacs 是无模式的,你可以像普通的文本编辑器(记事本)一样使用它,但添加了功能。他是你的风格/偏好的地方。我个人不喜欢 holding control down 在 Emacs 中四处走动,而在 Vim 中,你会逃到普通模式并使用 hjkl 来四处走动。

    【讨论】:

      【解决方案4】:

      这可能很有趣:

      https://github.com/senny/emacs-eclim

      它是 Eclipse 的前端,在 Eclipse 的同时提供 Emacs 功能,而不仅仅是模仿 Emacs 键。 这里有一些截图:

      http://www.skybert.net/emacs/java/

      【讨论】:

      • 我给了这个,因为张贴者在他的问题中说I plan to continue using eclipse
      • @admdrew 正如 emacs-eclim 所做的那样......它是 eclipse 的前端,与 Eclipse 一起提供 Emacs 功能,而不仅仅是模仿 Emacs 键。
      • Andreas - 哎呀,抱歉,我没有意识到这一点(实际上我应该阅读 github 自述文件)。如果您对帖子进行编辑,我可以摆脱我的反对意见。
      • @admdrew 好的,完成 - 一些解释可能确实有帮助。
      猜你喜欢
      • 2010-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多