在Vim中缺少Emacs的重要功能,例如comint模式,并且没有可以替换它们的脚本/插件。
Vim相对于Emacs也有好处,例如模态编辑和通常更好的默认快捷方式。但是,Viper模式让我两个都有。 Vimpulse还支持可视模式。 不幸的是,没有任何模式可以使Emacs像Vim一样快速工作。
所以我主要学习了Vim-in-Emacs。我错过了哪些Vim功能?
答案 0 :(得分:15)
我是普通的vim用户,但不是emacs用户,并且没有使用vimpulse
来确认这一点。
但是浏览下面的vimpulse代码我没有提到文本对象。
http://www.emacswiki.org/cgi-bin/wiki/vimpulse.el
Vim介绍了一些非常有用的选择和动作习惯用法,这些习惯用法不是常规的vi
cat
'在xml / html标签的标签周围切换diw
'删除字'di(
di"
删除""
()
等内的文字。查看:he
文本对象了解更多信息。
答案 1 :(得分:8)
不幸的是,没有任何模式可以让Emacs像Vim一样快速地工作。
如果你的意思是emacs的启动时间很短,你可以通过永久打开emacs会话来大幅削减它,并在需要编辑文件时使用gnuclient / emacsclient。
答案 2 :(得分:4)
我在emacs中遗漏的一个vi功能是重复上次编辑的.
(点)命令。有dot-mode.el实现C-.
来模拟这个,但它并不总是对我有效(我不熟悉elisp来找出原因)。
即使v蛇也没有像vi那样完全执行这个命令(我上次检查过),即使它确实如此,我也不认为这对我开始使用毒蛇是不够的。
答案 3 :(得分:4)
要获得可能缺少vimpulse的完整列表,请输入
:helpgrep不在Vi
将列出帮助中与vi兼容的所有功能。
Theres大约700场比赛。
当然会有很多重复的功能
答案 4 :(得分:1)
Vi无处不在 - 无论您是在目录列表,帮助文件,只写文件还是允许编辑的内容中,您都可以使用相同的快捷方式进行导航。
纠正视觉和删除行为 - 非常类似于emacs标记,但在惯用方面不同,Vi用户难以重新训练。如果你已经习惯了emacs标记你并没有真正遗漏任何东西。
正确的转义行为 - 应取消所有其他模态活动并返回命令模式。再说一次,如果你对emacs感到满意,你可能习惯于使用模态输入等等。
关于Vi的明显栗子被部署在世界上的每个nix系统上(Gentoo纯粹主义者纠正了我?) - 无论如何我的眼中并不是一个非常强烈的争论。
这些是我在使用emacs +毒蛇时出现的那些。
答案 5 :(得分:0)
Vim宏似乎不适用于viper / vimpulse:
Vim macros don't work when using viper + vimpulse in Emacs
(顺便说一下,让我关心vim / vimpulse的杀手emacs功能是不同的帧可以编辑同一个文件。就像分开两个部分可以在不同的窗口中。如果有人知道如何实现这一点在vim中,你将成为我的英雄。)
答案 6 :(得分:0)
使用/和增量搜索?不见了。
答案 7 :(得分:0)
成为emacs 作为操作系统的爱好者和vi 作为输入模型,我自然想要爱毒蛇。但是在使用它的两秒钟内我不得不放弃它: viper不支持C- [作为转义键的替代 - 这是 的基本快捷方式vi中最常用的命令。