Elvis 和 Vim 有什么不同?

thx*_*139 15 vim vi elvis

我已经使用 Slackware 一段时间了,它带有Elvis作为其默认编辑器。

大多数其他 Linux 发行版似乎都带有Vim,而不是 Elvis 。已经完全习惯了 Elvis,当我转向使用 vim 的发行版时,我会面临学习曲线吗?

Elvis 与 Vim 相比有哪些优点和缺点?

War*_*ung 14

ElvisVim都是功能强大的vi克隆,因此在它们之间切换时,您的手指记忆将非常有用。

他们共享许多vi扩展:

  • 语法高亮

  • 多次撤销和重做

  • 可视模式,通过vV

  • 命令历史和完成

  • 标签栈(例如:tags:tn等)

  • 多窗口编辑,通过:splitCtrl-W等等。

  • 扩展正则表达式:交替、子表达式分组等。

  • GUI版本,除了传统的全屏终端UI

  • 远程文件编辑:通过FTP读/写,通过HTTP只读

  • 删除最经典的vi限制,例如行长度和文件大小

  • 改进的编程支持::make、自动跳转到编译器错误等。

与普通的 Unix 相比,Elvis 令人印象深刻vi,但 Vim 的功能更强大:

  • Vimscript中的很多功能更强大的比猫王ex派生的脚本语言。

    (Elvis 和 Vimex在不兼容的方向上扩展了语言。这意味着你不能轻易地将你的elvis.ini文件移植到,~/.vimrc除非它只是一个简单的ex命令列表。)

  • 除了 Vimscript,Vim 还可以通过 Lua、Perl、Python、Racket、Ruby 和 Tcl 编写脚本。

    (然而,您本地的 Vim 可能没有启用所有这些。)

  • Vim脚本存档包含数千个Vim脚本功能,增加非常有用的功能,帮助应用程序,游戏,等等。

    Elvis 只附带了几十个脚本。似乎没有任何第三方猫王脚本的档案。(我试过谷歌搜索,只找到猫王电影的剧本。叹气。)

  • Vim 7.4 提供了对大约 10 倍于 Elvis 2.2 的文件格式和编程语言的语法高亮支持。

    它们的语法定义文件格式不兼容,因此您无法轻松地在它们之间进行移植。

  • Vim 7.4 附带 18 种标准配色方案。如果这对您来说还不够,在撰写本文时,Vim Color Sampler Pack是 177 种顶级方案的精选集合。除此之外还有更多。

    Elvis 2.2 仅提供三种配色方案,并且仅当您分别计算 GUI 和TUI方案时才会如此。在猫王主题归档持有另外十几个配色方案,总。

  • Vim 有一个内置的差异工具,对命令行进行了许多改进,diff(1)例如语法着色和合并。

  • 除了 FTP 和 HTTP,Vim 还可以通过 SCP、SFTP、WebDAV、RCP 和 RSYNC 编辑远程文件。

今天使用 Elvis 而不是 Vim 的最佳理由是它要小得多。Elvis 2.2 的占用空间大约是我系统上 Vim 7.4 占用空间的 1/5。例如,这使其成为资源受限的嵌入式系统的不错选择。

Elvis 是一个非常有能力的编辑器,在其局限性范围内。但是,虽然 Elvis 已经停滞了近十年,但 Vim 一直在不断改进。


小智 7

作为一个 VI 克隆,可以理解的是,elvis 和 vim 之间似乎没有很多功能差异。根据Learning the vi Editor, 6th Edition,唯一的区别是 elvis 没有增量搜索。

从 elvis 到 vim 不太可能有太多的学习曲线 - 毕竟它们都基于 vi 并且至少共享相同的基本命令,例如导航、模式、搜索。

最有可能的是,如果您要安装 vim 并将其视为一天的主要编辑器 - 您已经知道 elvis 提供的哪些功能(如果有)您会错过,以及 vim 可能给您带来的任何不便(如果有)。

我对 elvis 不太熟悉,但 vim 的一些优点是插件丰富,而且它得到维护。vim最新版(7.3)发布于2010年,elvis最新版(2.2.0)发布于2003年

注意:正如 alexios 所评论的那样 - 更改发行版并不意味着您不能简单地继续使用 elvis。