Emacs和Vim之间有什么实际的、客观的区别?例如,使用一个可以做而另一个不行(或者使用一个比另一个更容易做)?为了选择一门课程,我应该知道些什么?


当前回答

首先,Vi(原始实现)今天不使用。你说的是一些Vim推导。

要扩展Vim功能,必须重新编译Vim, Emacs则不必。

Emacs在self中有Vim (viper模式)。

Emacs通常需要手动安装,Vim通常预安装在所有Unix之类的操作系统上(但如果你有ssh访问主机的tramp模式win Vim:)。

如果你尝试Vim,那么你讨厌Emacs,所以先从Emacs开始。

也请阅读http://www.dina.dk/~abraham/religion/vi-tutorial.html(链接下拉,所以使用这个)

hxxp中的答案搜索://en.wikipedia.org/wiki/Editor_war

其他回答

我想引用《UNIX编程的艺术》一书中的一段话:

Many people who regularly use both vi and Emacs tend to use them for different things, and find it valuable to know both. In general, vi is best for small jobs – quick replies to mail, simple tweaks to system configuration, and the like. It is especially useful when you’re using a new system (or a remote one over a network) and don’t have your Emacs customization files handy. Emacs comes into its own for extended editing sessions in which you have to handle complex tasks, modify multiple files, and use results from other programs during the session. For programmers using X on their console (which is typical on modern Unixes), it’s normal to start up Emacs shortly after login time in a large window and leave it running forever, possibly visiting dozens of files and even running programs in multiple Emacs subwindows.

我在这里真正想强调的是:“许多人发现两者都知道是有价值的。

我是一个不折不扣的Emacs迷,但我早在认识Emacs之前就认识VI了。也就是说,我让我所有的人学习VI,因为它总是可用的,在任何地方。选哪一个都不会错。

VI总是可用的,并且将在最残缺的、单用户模式、坏的图形、没有键图、慢的链接机器上运行——因此,仅仅为了系统管理任务,了解如何在它中编辑简单的文件是值得的。

Emacs是一个编辑器中的完整用户界面。其思想是在启动机器时启动Emacs,并且永远不要离开它。可能会有数千个会话。

与使用GUI编辑器/IDE和使用python/awk/等来完成额外任务相比,学习Emacs的功能是否值得,取决于你自己。

我一开始是vim的用户,然后我切换到emacs,然后是vim,现在我又在尝试使用emacs。

两人都是伟大的编辑。 如今,两者都是可扩展的 两者都有很棒的插件和社区

作为开发人员,我们输入很多,最后对我来说,在缓冲区和文件中移动是最大的重复任务,所以我想要一个编辑器,我可以快速移动!

再次尝试emacs的动机是,我发现它的Ctrl键比vim更快,而且更容易推理。

在vim中,你有模式,你有插入模式,可视模式,正常模式,当你按下某个东西时会发生什么取决于你所处的模式,这是一种有状态的编辑方式。移动,进入插入模式,编辑,退出插入模式,然后再次移动。如果我错过了ESC按键或类似的东西,我经常会迷失自我。

在emacs中没有模式,基本上你用你的粉色按下Ctrl并键入按键,比如C-x C-f, C-x C-s, C-x C-c。有一些你需要释放ctrl键的键绑定,我讨厌这些键绑定,总是用按下control键的键绑定来替换它们。

我认为emacs方法更快地思考和输入,但是vim有另一个优点,那就是。它的命令是可组合的,它们通常有一个格式。例如,要删除一行,可以使用dd,删除一个单词dw。插件利用了这种感觉,使用vim-surround插件,你可以用ds”(delete surround)删除引号,删除到下一个/ dt/。删除之前的/:dT/,以此类推。所以只要你学会了移动的东西就会变得很有趣。

综上所述,今天我发现emacs键绑定在宏编辑方面更快,而vim命令在微编辑方面更强大

在过去的五年里,我一直在使用vim,所以我的编辑思想主要是关于单词、线条、周围环境、块等。删除这一行,删除引号,替换引号, 删除字在游标,我试图找到emacs移动为那

最后我想说的是,我更关心fzf而不是emacs或vim,我希望有一个完全基于fzf的编辑器

Vim是一个方便的编辑器,你只需输入Vim的文件名来打开文件,编辑,保存和关闭。

Emacs是一个伪装成编辑器的“操作系统”,你可以评估代码来改变它的行为,并按你的喜好扩展它。在emacs上接收/发送电子邮件的模式类似于操作系统上的电子邮件软件。

当进行简单的编辑时,例如,修改配置文件,我使用vim。

否则,我永远不会离开emacs。