21

Vim 中缺少 Emacs 的一些重要功能,例如 comint 模式,并且没有脚本/插件可以替代它们。

与 Emacs 相比,Vim 也有一些好处,例如模式编辑和通常更好的默认快捷方式。然而,毒蛇模式让我两者兼得。Vimpulse 还启用了可视模式。不幸的是,没有任何模式可以让 Emacs 像 Vim 一样快速运行。

所以我主要学习 Vim-in-Emacs。我缺少哪些 Vim 功能?

4

8 回答 8

15

我是一个普通的 vim 用户,但不是一个 emacs 用户,并且没有用来vimpulse确认这一点。

但是浏览下面的 vimpulse 代码,我看不到文本对象的提及。

http://www.emacswiki.org/cgi-bin/wiki/vimpulse.el

Vim 引入了一些非常有用的用于选择和移动的习语,这些习语在常规 vi 中没有

  • catxml / html标签的'cut around tag'
  • diw'在单词中删除'
  • di( di"删除"" ()等内的文本。

在 vim 帮助中查看:hetext-objects 以获得更多信息。

于 2008-12-01T12:04:19.000 回答
9

不幸的是,没有任何模式可以让 Emacs 像 Vim 一样快速运行。

如果您的意思是 emacs 启动时间很短,您可以通过永久打开 emacs 会话来显着缩短它,并在需要编辑文件时使用 gnuclient/emacsclient。

http://www.emacswiki.org/emacs/GnuClient

于 2008-11-30T19:32:51.340 回答
4

我在 emacs 中错过的一个 vi 功能是.重复上次编辑的 (dot) 命令。有dot-mode.el可以实现C-.模拟这一点,但它并不总是对我有用(我不精通 elisp 以找出原因)。

甚至 viper 也没有像 vi 那样实现这个命令(上次我检查过),即使它实现了,我认为这还不足以让我开始使用 viper。

于 2008-12-19T19:11:08.470 回答
4

要获得 vimpulse 可能缺少的类型的完整列表

:helpgrep 不在 Vi 中

将列出帮助中与 vi 不兼容的每个功能。

大约有 700 场比赛。

当然会有很多重复的功能

于 2009-09-16T01:39:40.303 回答
1

Vi 随处移动 - 在 Vi 中,无论您是在目录列表、帮助文件、只写文件还是允许编辑的内容中,您始终可以使用相同的快捷方式进行导航。

正确的视觉和删除行为 - 与 emacs 标记非常相似,但习惯上不同,因此 Vi 用户很难重新训练。如果您已经习惯了 emacs 标记,那么您并没有真正错过任何东西。

正确的转义行为 - 应该取消所有其他模式活动并将您返回到命令模式。同样,如果您对 emacs 感到满意,那么您可能已经习惯了模态输入等。

关于 Vi 被部署在世界上每个 nix 系统上的明显栗子(Gentoo 纯粹主义者纠正我?) - 无论如何,在我看来这不是一个非常强烈的论点。

这些是我在使用 emacs+viper 期间突然出现的。

于 2009-12-12T04:18:22.323 回答
0

Vim 宏似乎不适用于 viper/vimpulse:

在 Emacs 中使用 viper + vimpulse 时,Vim 宏不起作用

(顺便说一句,让我关心 vim/vimpulse 的杀手级 emacs 功能是不同的框架可以编辑同一个文件。这就像有一个拆分,两个部分可以在不同的窗口中。如果有人知道如何在 vim 中完成,你会是我的英雄。)

于 2008-12-29T06:51:23.667 回答
0

使用 / 和 ? 进行增量搜索 不见了。

于 2009-08-14T04:43:59.933 回答
0

作为一个喜欢 emacs作为操作系统和 vi作为输入模型的爱好者,我自然而然地想喜欢 viper。然而,在使用它的两秒钟内,我不得不放弃它:viper 不支持 C-[ 作为转义键的替代品——这是 vi最常用命令的必要快捷方式。

于 2009-09-02T01:16:14.433 回答