Emacs和Vim之间的差异

时间:2009-09-15 23:32:15

标签: vim emacs editor

没有就为什么一个人比另一个人更好的宗教论点,Emacs和Vim之间的实用差异是什么?我正在学习其中一个,但我意识到每个人的学习曲线很高,我无法决定。我从来没有使用过这种类型的编辑器(我总是使用IDE),所以任何有助于新手的东西都是有利的。


在火焰战争开始之前:我不是问哪个更好,我问的是两者之间的差异。我想要客观比较。

30 个答案:

答案 0 :(得分:454)

(以下文字是我的意见,不应视为事实或侮辱)

使用Emacs,您需要全天候开放并在程序内部生活,几乎所有操作都可以从那里完成。您编写自己的扩展,用于记笔记,组织,游戏,编程,shell访问,文件访问,听音乐,Web浏览。它需要数周和数周才能满足它,然后你会一直学习新的东西。当您无法访问它并不断更改配置时,您会感到恼火。您将无法轻松使用其他人的emacs版本,也不会安装它。它使用Lisp,这很棒。你可以把它变成你想要的任何东西。 (什么都没有)

使用Vim,它几乎总是预装。它很快。你打开一个文件做一个快速编辑,然后退出。如果您在其他人的机器上,则可以使用基本设置。它不太可编辑,但它仍然比大多数文本编辑器好得多。它认识到大多数时候您正在阅读/编辑而不是打字并使这一部分更快。您不会受到 emacs pinkie 的影响。这并不是那么令人生气。它更容易学习。

即使我每天都在使用Emacs(并且喜欢它),除非您打算在您选择的程序中花费大量时间,我会选择vim

答案 1 :(得分:129)

Vim不是一个shell。并且它与子流程的沟通不畅。这几乎是设计的,而在Emacs中,这些元素包含在设计中。这意味着一些东西,比如嵌入调试器或解释器(产生一种IDE),在Vim中很难。

此外,Emacs快捷方式主要通过修饰符访问,显然Vim界面是着名的模态,可以访问大量直接键进行操作。

Emacs曾经是两个可编程的唯一编辑器,虽然Vim的可编程性有很多奇怪的级别,但添加了Python和Ruby绑定(还有更多,我忘了),Vim也是可编程的在很多方面你都会关心。

我使用Vim,我对它很满意。

答案 2 :(得分:102)

Vim:

  • 更好的简单编辑器(简单任务所需的密钥更少)
  • 更活跃的脚本社区 - 内部语言:vimscript
  • 脚本,插件,配色方案的一个中央存储库......
  • 也可以在python,ruby
  • 中扩展
  • 可以移植(emacs有一些问题)

Emacs:

    默认情况下
  • 非模态(今天的大多数编辑都采用了这种方法)。虽然有evil-mode模仿vim行为。
  • 更强大的扩展语言(elisp是一种完整的语言,在emacs中你几乎可以重新定义所有内容;而在vim中你无法重新定义编辑器的功能。在不利方面,vimscript与今天的动态相对类似语言,而elisp几乎没有任何东西)
  • 更多可扩展
  • 对GNU工具(其中一堆)的出色支持

就个人而言,我更喜欢vim - 它很小,它应该做什么,当我希望一个完整的IDE我打开VS. Emacs作为一个想要成为IDE(或者我应该说是一个操作系统)的编辑器的方法,但并不完全是恕我直言,已经过时了。在过去有一个电子邮件客户端,ftp客户端,俄罗斯方块,...在一个包(emacs)中的东西有一些意义......现在,它已经不存在了。

然而,两者都是程序员和超级用户社区用户之间的宗教讨论主题,在这方面,如果接触(在相同的句子/问题中),两者都非常适合开始火焰战争。

答案 3 :(得分:47)

如果您正在寻找对两位编辑的客观分析,请查看它们的起源和各自设计背后的理念。想想,哪一个更适合你并学习它(并学习它并学习它,因为在你发现它的真实效用与任何IDE之前需要时间)。 An Introduction to Display Editing with Vi由Bill Joy和Mark Horton编写,他解释了为什么他选择模态设计和各种击键的基本原理(这有助于我记住CTRL-W + W(将切换到下一个 W indow,对于CTRL W + CTRL W也是如此,以防万一你按住CTRL键一段时间。

以下是Emacs timeline的链接,并提供了Multics Emacs文章。这是关于Emacs的RMS论文,我看到压力在可编程文本编辑器上(甚至可以追溯到1981年及之前)。

我没有阅读过emacs论文,但已经多次阅读过Bill Joy的vi论文。 两者都是旧的,但你仍然会有这个理念,你可能会选择使用当前的工具(vim 7.x或emacs 25?)

编辑:我忘了提及阅读这两篇论文需要耐心和想象力,因为它会让你在阅读时回到过去。但值得。

答案 4 :(得分:43)

  1. Vim的启动速度总是比Emacs快。我说在任何机器上,开箱即用的Vim安装都会比开箱即用的Emacs安装更快。而且我倾向于认为,经过适量的自定义之后,Vim仍然会比Emacs更快启动。

  2. 之后,另一个实际的区别是Emacs的模式。在编辑XML,C / C ++ / Java /无论什么,LaTeX以及您能想到的最流行的语言时,它们使您的生活变得更加轻松。它们使您希望保持编辑器长时间开放和工作。

  3. 总而言之,我会说Vim会让你接受短暂,快速的编辑任务;而Emacs鼓励你长时间潜水。

答案 5 :(得分:37)

VI始终可用,并且将运行在最残缺的单用户模式,损坏的图形,没有键盘映射,慢速链接机器上 - 所以值得知道如何编辑其中的简单文件仅用于sysadmin任务。

Emacs是编辑器中的完整用户界面。我们的想法是,当您启动机器时启动Emacs并且永远不会离开它。可能会有数千个会话。

与使用GUI编辑器/ IDE和使用python / awk / etc之类的东西进行额外任务相比,学习Emacs的功能是否值得。取决于你。

答案 6 :(得分:24)

我是一个成熟的Emacs粉丝男孩,但在我认识Emacs之前很久就认识VI了。也就是说,我让所有的人都学习VI,因为它随处可见。其中任何一个都不会出错。

答案 7 :(得分:13)

我从vi开始,去了emacs,然后去了vim。我一直在考虑尝试让Emacs看看过去五年里发生了什么变化。 (说到IDE,我已经进入了eclipse一段时间,但我更喜欢我的终端窗口将我的mac连接到我的(丈夫的)linux盒子)。

切割和粘贴的东西最近一直困扰着我。在Vim中剪切和粘贴比在Emacs,IIRC中采取更多步骤。从浏览器到终端窗口的粘贴是令人恼火的,除非你做一些我不喜欢做的事情,所以我忍受了奇怪的缩进。我认为,在emacs中编辑多个文件更容易。如果你把它们都放在屏幕上,至少从一个文件跳到下一个文件。

我还没有玩过vi或emacs的精彩功能,因为我只是喜欢开展编码业务。我需要的只是漂亮的颜色和适当的标签到空间转换(特别重要的是python)。

我认为这完全取决于你是否想要使用:wqCtrl-x Ctrl-s(IIRC)来保存文件,如果你不关心花哨的东西。

@mgb是对的。我一直在最低限度的linux中,在一个月或两个星期前在Debian发行版中修复一些东西。 vi是唯一可用的编辑。

答案 8 :(得分:12)

似乎已经选择了一个答案,但对我来说最大的不同就是模态与非模态。 Vim是模态的,这意味着它基于一组特定的使用模式进行优化。至少那是我一直看着它的方式。这使得使用Vim成为一种不同的体验,因为您没有使用您键入代码的工作区,而是在告诉环境对文本进行操作。这就是为什么人们说像Vim这样的东西你真的在学习语言。 :wq和:s / foo / bar是编辑和读取文本的shell环境的一部分。

另一方面,Emacs更接近大多数编辑器/文字处理器/等。你今天看到了。您的工作空间具有高度可编程的界面。这就是为什么你会看到像电子邮件,irc,shell等的东西。作为程序员,你可以很容易地想到“记下我所使用的行号并对信息做些什么”。离开编辑器的愿望变得越来越少,因为不需要退出,打开其他应用程序/语言并在某些文本上执行操作,您可以使用Emacs在编辑器范围内执行这些操作。

这两个想法不一定是对比的,但只是它们揭示了两个不同的焦点。我个人使用Emacs,但我见过那些非常了解Vim的人,可以说老实说你选择哪个并不重要。我先尝试过Vim,但是Emacs最终还是坚持了我。确实,无论你选择什么,你都应该至少在某种程度上精通Vim,因为它总是可用。

答案 9 :(得分:10)

关于这两位编辑,有很多事情已经说过了,但我只有5便士的补充。两位编辑都很精彩,你们两个都不会出错。

我现在是vi / vim用户大约15年了。我已经尝试过几次转换为emacs,但每次都发现vim实际上可以开箱即用,而无需编写lisp扩展或安装东西。

对我来说,编辑器的主要区别在于vim会让你使用环境/操作系统,而emacs会尝试封装或替换它。 例如,您可以通过以下方式在文本中添加日期:r!date in vim,或者日历:r!cal 1 2014,或者甚至用内容的十六进制版本替换缓冲区的内容。例如。 :%!xxd,编辑十六进制,然后返回:%!xxd -r,以及更多其他用途,如builtin grep,sed等。

另一个示例是与jqgron一起使用。例如。将json blob粘贴到编辑器,然后运行转换:

:r!curl -s http://interesting/api/v1/get/stuff
:%!gron | grep 'interesting' | gron -u

OR

:%!jq .path.to.stuff

上面的每个管道命令都可以通过:%!<command>单独运行,其中%表示所有文档,但也可以在选择,选定行等上运行。这里gron output可以用作jq路径。

您还可以获得EX批量编辑功能,例如。替换某些单词,重新格式化代码,转换dos-&gt; unix换行符,一次运行一个宏说100个文件。这很容易用ex。我不确定emacs是否有类似的东西。

换句话说,恕我直言vim更接近unix哲学。它通常更简单,更小,但如果您了解自己的操作系统和工具,则可能需要的不仅仅是它(VIM)必须提供的功能。我从来没做过。

除了v​​i是任何unix / linux系统的defacto标准之外,为什么学会使用2个做同样事情的工具。当然有些系统提供毫克或类似的东西,但绝对不是全部。 Unix + Vi&lt; 3。

嗯,我的5便士。

答案 10 :(得分:9)

日常级别存在巨大差异 - Vim(或任何vi变体)本质上是模态的(您进入无法编辑的命令模式)和Emacs(以及大多数其他编辑器) )不是。

当然,使用菜单等,您不必在Vim中实际进入命令模式 - 首先。但是要使用Vim的一小部分功能你会。这是Vim / Emacs辩论的核心。

就个人而言,我也认为Emacs更具可扩展性。你可以找到很多东西的Elisp软件包。

但是,我很好奇,为什么你想要通过更传统的IDE学习其中一个。你想学习其中一个是为了什么?

答案 11 :(得分:9)

对我来说,emacs的专业人士是,

  • tramp-mode允许您通过ssh编辑远程文件。就像本地文件一样。
  • tramp-mode + dired =功能齐全的sftp客户端
  • 支持您需要的每种语言。
  • 内置终端仿真器(术语模式),因此我可以在不切换应用程序的情况下保持编码。
  • 可扩展性您不喜欢的任何内容都可以使用lisp进行更改。

答案 12 :(得分:8)

对我来说,emacs有更好的开发工具(不仅仅是基于标签的工具)。

答案 13 :(得分:8)

Emacs的好处

  • Emacs同时具有非模态接口(默认情况下)和模态接口(例如,它可以通过Evil,Viper或Vimpulse模拟vim和vi)。

  • 最移植的计算机程序之一。它以文本模式运行,并在各种操作系统的图形用户界面下运行,包括大多数类Unix系统(Linux,各种BSD,Solaris,AIX,IRIX,macOSetc。),MS-DOS,Microsoft Windows,AmigaOS,和OpenVMS。 Unix系统,包括免费和专有系统,经常提供与操作系统捆绑在一起的Emacs。

  • Emacs服务器架构允许多个客户端连接到同一个Emacs实例并共享缓冲区列表,kill ring,undo history和其他状态。

  • 普及的在线帮助系统,包含动态记录的键绑定,功能和命令。

  • 可扩展和可自定义的Lisp编程语言变体(Emacs Lisp),其功能包括:

  • 功能强大且可扩展的文件管理器(dired),集成调试器以及大量开发和其他工具。

  • 让每个命令成为Emacs Lisp函数,通过以编程方式响应过去的操作和文档状态,使命令成为DWIM(Do Do I Mean)。例如,switch-or-split-window命令可以切换到另一个窗口(如果存在),或者根据需要创建一个窗口。这减少了用户必须记住的击键次数和命令。

  • &#34;操作系统内的操作系统&#34;。 Emacs Lisp使Emacs的编程远远超出了编辑功能。甚至基本安装包含几十个应用程序,包括两个Web浏览器,新闻阅读器,几个邮件代理,四个IRC客户端,一个版本的ELIZA和各种游戏。所有这些应用程序都可以在Emacs运行的任何地方使用,具有相同的用户界面和功能。从版本24开始,Emacs包含一个包管理器,可以轻松安装其他应用程序,包括备用Web浏览器,EMMS(Emacs多媒体系统)等。还有许多用于编程的包,包括一些针对特定语言/库组合或编码样式的包。

vi编辑的好处

  • 编辑命令是可组合的
  • Vi有一个模态界面(Emacs可以模仿)
  • 从历史上看,vi的加载速度比Emacs快。
  • 虽然与UNIX传统密切相关,但它可以在所有可以实现标准C库的系统上运行,包括UNIX,Linux,AmigaOS,DOS,Windows,Mac,BeOS,OpenVMS,IRIX,AIX,HP-UX,BSD和符合POSIX标准的系统。
  • 可通过Vim脚本扩展和自定义,或者用于Python,Ruby,Perl和Lua等解释语言的API
  • 泛。基本上所有Unix和类Unix系统都内置了vi(或变体)。 Vi(和ex,但不是vim)在POSIX标准中指定。
  • 系统救援环境,嵌入式系统(特别是那些使用busybox的系统)和其他受限制的环境通常包括vi,但不包括emacs。

来源:https://en.wikipedia.org/wiki/Editor_war

答案 14 :(得分:8)

现在你甚至不需要考虑这两者之间的区别,因为Spacemacs。它是一个由社区驱动的Emacs发行版。

正如它所说,

  

最好的编辑既不是Emacs也不是vim,它是Emacs和Vim。

Spacemacs结合了Emacs和Vim的优点,让您的生活和工作更轻松。

它也有一个不错的标志。

见下面的截图

http://spacemacs.org/doc/img/spacemacs-python.png

答案 15 :(得分:8)

我想在这里引用“UNIX编程的艺术”一书中的引用:

  

许多经常同时使用vi和Emacs的人倾向于使用它们   不同的事情,并发现知道它们都很有价值。

     

一般来说,vi最适合小型工作 - 快速回复邮件,简单   调整系统配置等。它特别有用   当您使用新系统(或通过网络远程系统)和   没有方便的Emacs自定义文件。

     

Emacs为您提供了扩展编辑会话   必须处理复杂的任务,修改多个文件,并使用结果   来自会议期间的其他计划。对于使用X的程序员   他们的控制台(这在现代Unix上是典型的),这是正常的   在大窗口中登录时间后立即启动Emacs并保留   永远运行,可能访问几十个文件甚至运行   多个Emacs子窗口中的程序。

我真正想要强调的是:«很多人发现知道两者都很有价值。»

答案 16 :(得分:5)

Emacs有viper模式,所以从某种意义上说,它提供了一个超集的功能(除What Vim features are missing in Emacs with Viper and Vimpulse?中描述的功能外)。

vi(和VIM IIRC)重量较轻(它可以编辑文件),但功能较少(子进程通信,扩展语言)。

答案 17 :(得分:5)

选择在vim上使用emacs的最大区别在于emacs内置的gdb支持。 Vim没有包含在它的默认发行版中,那里用于集成gdb和vim的项目几乎不可能使用MacVim

答案 18 :(得分:4)

它像苹果和橘子。两者都有不同的设计和philosphy。 Vim是一个文本编辑器,而Emacs是一个执行文本编辑的Lisp解释器。

我使用Vim是因为它快速,简洁,并且非常善于操纵文本。它具有可组合的自然键绑定,可以使您的开发任务真正和谐。 Vim是基于简单的* nix philiosphy做一件事情 - 即Text Manipulation。

使用bash / zsh和tmux扩展Vim通常很容易,并且可以让你学到很多东西。恕我直言,这是一个很好的学习曲线。关键是要学习如何集成这些东西以获得更大的工作应用程序。使用Vim,你需要学习集成,因为它不会自然地集成,除非你告诉它如何。我使用的另一个有价值的扩展是Tig。它是一个基于ncurses的Git前端。我只是有一个绑定,静静地打开Tig,然后我在那里做所有Git的东西。

由最终用户决定最有效的方法。 Emacs和Vim经受住了时间的考验,证明了他们的价值。最终,一个优秀的程序员只需要一支笔和一篇论文来创造。好的算法不需要编辑器来支持它们。所以尝试两者,看看是什么让你更有成效。并且从这些软件中学习设计模式,因为有很多东西需要学习和发现!

答案 19 :(得分:3)

一个黄疸的观点:

vi(不是vim)是一种专业必需品。你总是有某种形式的 vi容易获得,无论环境如何。你可以在vi 在emacs中,你可以在vi中在unix-land中构建bash命令。

甚至Microsquish也必须支持vi(虽然他们做得很好 隐藏它)因为gov't和公司遵守发布 标准。

在我看来,如果你在繁忙的环境中亲自动手 - 不是 温室花被限制在一个开发中的一个花哨的钻机 环境,或学术界 - 了解一个花哨的编辑器是一项工作 障碍。不要在vim或emacs中学习所有花哨的技巧,也不要 开发一堆宏,使编辑环境符合您的意愿。 这是一个巨大的时间下沉,当你参加时会妨碍你 您可能无法在工厂中证明的不同机器 环境。

阅读比尔乔伊的论文 - 这是一个非常称职的,甚至可能 美丽,工程练习非常非常非常地编辑纯文本 快速。 Parito的规则适用于此:80%的水果占20% 的篮子。非常快速地编辑纯文本是关键 编辑能力 - 所有其他都是可选的 - 有时甚至是有害的。

答案 20 :(得分:2)

Emacs实际上更像是一个所有程序,而vi(m)实际上只是一个编辑器。如果你正在编辑文本,它们都很好,但我更喜欢emacs,只是因为我必须从主行移一个移动,并在命令模式下继续输入错误的东西。我没有那个问题,vi(m)可能是你的编辑。

答案 21 :(得分:1)

如果您从一个站点移动到另一个站点或者您的工作涉及到生产系统,那么vim就是您的选择。

所有* nix机器默认安装vi。

大多数sysdamins更喜欢ksh作为默认shell。 ksh使用vi(或emacs)命令按键来搜索历史记录并编辑命令行。

如果您不熟悉vi,当您登录带有标准配置的unix盒时,您会受到严重伤害。

仅凭这个原因,我会推荐vim作为您日常编辑的常规。我见过emacs粉丝在那里尝试修改裸机unix服务器上的配置文件。

答案 22 :(得分:1)

vim 是一个方便的编辑器,您可以通过简单的类型vim filename来打开文件,编辑,保存和关闭。

emacs 是一个假装是编辑器的“操作系统”,您可以eval编码来改变其行为,并根据需要进行扩展。在emacs上接收/发送电子邮件的mode就像是操作系统上的电子邮件软件。

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

否则,我永远不会离开 emacs

答案 23 :(得分:0)

按键执行::: vi编辑保留了键入键的每个排列。这会在决策树中创建一个明确标识任何命令的路径,而Emacs命令则是立即执行的类型化键的组合,这使用户可以选择是否使用命令。

内存使用和可定制性::: vi是一个更小更快的程序,具有更有限的自定义容量,而Emacs需要更长的启动时间并需要更多内存。但是,它具有高度可定制性并包含大量功能,因为它本质上是用于文本编辑的Lisp程序的执行环境。

答案 24 :(得分:0)

我认为主要区别在于设计目标。 VIM适用于UNIX作为工作编辑器。 Emacs适用于GNU和lisp黑客,因此它有一些混合设计元素。

我在工作站上使用vim,而我也喜欢emacs。

答案 25 :(得分:0)

在你的问题中,你没有提到你希望它在Lisp中编程!但是当你评论你的答案时,我已经明白你真的想要一个LISP编程接口。

对于那个精确的任务,只需忘记Vi。 Emacs与LISP的整合非常棒!你应该使用SLIME。然后,您将与REPL进行精彩的集成,能够将eval函数,缓冲区或文件直接存储到emacs缓冲区中正在运行的解释器中......等等...

答案 26 :(得分:0)

我是Emacs粉丝,但鼓励其他开发者学习VI,因为:

  1. 您可以使用VI编辑emacs makefile。
  2. VI包含ed命令,每个UNIX用户都应该知道ed和sed。
  3. 我注意到有几条评论关于VIM的启动速度比emacs快。如果您真的关心这一点,请在服务器模式下运行emacs并使用别名&#39; emacs&#39;到#emacsclient&#39;。客户端非常快,因为它所做的只是点击肩膀上的服务器并告诉它你要编辑哪个文件。在MacOSX上,emacsclient只有33K,而emacs是287M。

    我不确定现代硬件上是否有必要这样做。在我的MacBook Pro(2013 Retina)上,当我从shell运行它时,emacs几乎立即加载。我发现根本没有停顿。当我运行Emacs.app(GUI版本)时,可能需要3秒钟。

    我听到的关于emacs的大多数投诉似乎都来自人们对emacs的误导。从1982年开始使用vi和emacs时,我绝对记得emacs加载速度比vi慢得多,并且在我早期的UNIX机器中使用了大部分物理内存,但是现在不再是这种情况了,至少15- 20年。

    我承认的一个抱怨是&#34; emacs pinkie&#34;。当我年轻的时候,这从未打扰过我。现在我58岁了,我的小指确实因为重复访问控制键而变得有点酸痛。在MacBook Pro键盘上尤其如此,其中Control向右移动一个位置以便为&#34; fn&#34;键。当Control是左下角键时,它并不那么烦人。

答案 27 :(得分:0)

我已经在生产/研究环境中使用spacemacs大约两年了,而与neovim一起工作了大约一年。 Spacemacs是具有几个不错的额外功能(例如图层等)的emacs。neovim再次是带有某些额外功能的vim的分支。

我对他们两个人的经验都不满意。而且,我仍在寻找可以满足我的文本编辑需求的长期解决方案。

这里是一个简单的比较:

  • Neovim,vim,emacs,spacemacs等,与那里的大多数编辑器相比,所有这些编辑器消耗的资源更少。

  • Neovim / vim比emacs快一点,比spacemacs快得多。

  • 在编辑经验方面。我可以轻松地说emacs软件包感觉更出色。我认为这是因为它们与emacs的核心更好地融合在一起。

  • Vimscript很不错,而且vim生态系统中当然也有很多伟大的项目。好处是,它们比到目前为止我见过的大多数emacs项目都有更好的文档记录。

  • 根据所使用的软件包,两者都可能出现故障。 Spacemacs倾向于冻结,而neovim倾向于显示可怕的错误消息,因此请在此处选择毒药。

  • vim中的模式编辑不是一个直观的概念,但是一旦习惯了,就可以使用它。这两个编辑器都提供了该功能。

答案 28 :(得分:0)

我首先是vim的用户,然后我切换到emacs,然后又切换到vim,现在我再次尝试emacs。

  • 两位都是出色的编辑。
  • 今天两者都很可扩展
  • 两者都有出色的插件和社区

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

再次尝试emacs的动机是,我认为Ctrl引导的键绑定比vim更快,并且更容易推理。

在vim中,您有一些模式,有插入模式,可视模式,普通模式,按某项操作时发生的情况取决于您所使用的模式,这是有状态的编辑方法。您进行移动,进入插入模式,进行编辑,退出插入模式,然后再次移动。如果我错过电调新闻或诸如此类的事情,我会经常迷失自我。

在emacs中没有任何模式,基本上是用粉红色按Ctrl键并键入按键,例如C-x C-f,C-x C-s,C-x C-c。在某些需要释放ctrl键的键绑定中,我讨厌此键绑定,并始终将其替换为按下了控制键的键绑定。

我认为emacs方法的思考和输入速度更快,但是vim具有另一种优势。它的命令是可组合的,它们通常具有format。例如,要删除行,可以使用dd,删除单词dw。插件利用了这种缺点,通过vim-surround插件,您可以删除带有ds的引号(删除包围号),最多删除下一个/ dt/。最多删除前一个/:dT/,依此类推。因此,只要您学会了移动的东西就变得非常有趣。

总结一下,今天我跌倒了,emacs快捷键绑定对于宏编辑而言更快,而vim命令对于微编辑而言则更强大

过去五年来我一直在使用vim,所以我主要编辑关于单词,线条,周围环境,块等的想法。删除此行,删除引号,替换引号, 删除光标中的单词,我正在尝试找出emacs的动作

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

答案 29 :(得分:-8)

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

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

Emacs在自我中拥有Vim(viper-mode)。

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

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

另请阅读http://www.dina.dk/~abraham/religion/vi-tutorial.html(链接向下,以便使用this

在hxxp中搜索Anwer://en.wikipedia.org/wiki/Editor_war