Vim 中缺少 Emacs 的一些重要功能,例如 comint 模式,并且没有脚本/插件可以替代它们。
与 Emacs 相比,Vim 也有一些好处,例如模式编辑和通常更好的默认快捷方式。然而,毒蛇模式让我两者兼得。Vimpulse 还启用了可视模式。不幸的是,没有任何模式可以让 Emacs 像 Vim 一样快速运行。
所以我主要学习 Vim-in-Emacs。我缺少哪些 Vim 功能?
Vim 中缺少 Emacs 的一些重要功能,例如 comint 模式,并且没有脚本/插件可以替代它们。
与 Emacs 相比,Vim 也有一些好处,例如模式编辑和通常更好的默认快捷方式。然而,毒蛇模式让我两者兼得。Vimpulse 还启用了可视模式。不幸的是,没有任何模式可以让 Emacs 像 Vim 一样快速运行。
所以我主要学习 Vim-in-Emacs。我缺少哪些 Vim 功能?
我是一个普通的 vim 用户,但不是一个 emacs 用户,并且没有用来vimpulse
确认这一点。
但是浏览下面的 vimpulse 代码,我看不到文本对象的提及。
http://www.emacswiki.org/cgi-bin/wiki/vimpulse.el
Vim 引入了一些非常有用的用于选择和移动的习语,这些习语在常规 vi 中没有
cat
xml / html标签的'cut around tag'diw
'在单词中删除'di(
di"
删除""
()
等内的文本。在 vim 帮助中查看:he
text-objects 以获得更多信息。
不幸的是,没有任何模式可以让 Emacs 像 Vim 一样快速运行。
如果您的意思是 emacs 启动时间很短,您可以通过永久打开 emacs 会话来显着缩短它,并在需要编辑文件时使用 gnuclient/emacsclient。
我在 emacs 中错过的一个 vi 功能是.
重复上次编辑的 (dot) 命令。有dot-mode.el可以实现C-.
模拟这一点,但它并不总是对我有用(我不精通 elisp 以找出原因)。
甚至 viper 也没有像 vi 那样实现这个命令(上次我检查过),即使它实现了,我认为这还不足以让我开始使用 viper。
要获得 vimpulse 可能缺少的类型的完整列表
:helpgrep 不在 Vi 中
将列出帮助中与 vi 不兼容的每个功能。
大约有 700 场比赛。
当然会有很多重复的功能
Vi 随处移动 - 在 Vi 中,无论您是在目录列表、帮助文件、只写文件还是允许编辑的内容中,您始终可以使用相同的快捷方式进行导航。
正确的视觉和删除行为 - 与 emacs 标记非常相似,但习惯上不同,因此 Vi 用户很难重新训练。如果您已经习惯了 emacs 标记,那么您并没有真正错过任何东西。
正确的转义行为 - 应该取消所有其他模式活动并将您返回到命令模式。同样,如果您对 emacs 感到满意,那么您可能已经习惯了模态输入等。
关于 Vi 被部署在世界上每个 nix 系统上的明显栗子(Gentoo 纯粹主义者纠正我?) - 无论如何,在我看来这不是一个非常强烈的论点。
这些是我在使用 emacs+viper 期间突然出现的。
Vim 宏似乎不适用于 viper/vimpulse:
在 Emacs 中使用 viper + vimpulse 时,Vim 宏不起作用
(顺便说一句,让我关心 vim/vimpulse 的杀手级 emacs 功能是不同的框架可以编辑同一个文件。这就像有一个拆分,两个部分可以在不同的窗口中。如果有人知道如何在 vim 中完成,你会是我的英雄。)
使用 / 和 ? 进行增量搜索 不见了。
作为一个喜欢 emacs作为操作系统和 vi作为输入模型的爱好者,我自然而然地想喜欢 viper。然而,在使用它的两秒钟内,我不得不放弃它:viper 不支持 C-[ 作为转义键的替代品——这是 vi中最常用命令的必要快捷方式。