1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

科技 [详讯]十年生聚 Vim 8.0 发布了

本帖由 漂亮的石头2016-09-13 发布。版面名称:新闻聚焦

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    488,439
    赞:
    48
    感谢Linux 中国的投递

    十年以后,Vim 终于发布了一个新的大版本 8.0,结束了从 2006 年 5 月 7 日开始的 7.0 世代。虽然这十年间,Vim 也一直在不断更新,从 7.0 到三年前的 7.4,每隔一两年或两三年就会有个小版本更新,但是这次跨越大版本更新,带来了不少新的特性,据说有一些是从其它的 Vi 流派吸收来的特性。


    [​IMG]


    什么是 Vim?

    虽然说我认为能看到这篇文章的人应该都知道 Vim 是什么,不过作为一篇正式宣告 Vim 8.0 发布的新闻,我还是郑重其事的来给 Vim 做个说明吧。

    Vim 是经典的 UNIX 编辑器 Vi 的深度改良版本。它增加了许多功能,包括:多级撤销、格式高亮、命令行历史、在线帮助、拼写检查、文件名补完、块操作、脚本支持,等等。除了字符界面版本之外,它也有图形界面版本(比如 gVim)。虽然 Vi 还在继续维护当中,但是大部分人都只在使用 Vim 了,你所见到和听到的大多是指 Vim——虽然你的命令名可能是 Vi。

    这个编辑器常用于程序员、系统管理员、黑客们进行编程和文本编辑。不像某些编辑器,它所有的命令都采用普通的键盘字符,因此在你的如飞般的十指之下,它的输入和操作速度非常快。当然,你也可以将功能键映射到某些命令上,甚至还可以支持鼠标。

    除了 Linux 之外,Vim 还可以运行在 MS-Windows (NT、2000、XP、Vista、7、8、10)、苹果、VMS 和几乎所有的 UNIX 分支上。 Vim 的旧版本还可以运行在 MS-DOS、MS-Windows 95/98/Me、Amiga DOS、Atari MiNT、BeOS、RISC OS 和 OS/2 上,不过新版本不再支持了。


    主要更新

    8.0 版本中除了大量的细节改进和错误修复以外,主要支持以下的新功能:


    支持异步 I/O 和通道channel

    Vim 现在可以和后台的其它进程进行消息交互。这样就可以开发一个运行在后台的服务器,并将结果发回给 Vim,这种交互方式称之为通道channel。在通道中使用 JSON 传递消息,因此你可以用任何一种语言来开发后台服务器,只需要它支持 JSON 即可。通过支持这种技术可以实现一些功能非常复杂的插件。


    任务

    Vim 现在也能启动一个任务,并与之通讯或停止它。比如说,可以启动一个用于自动补完、格式检查等功能的进程。在任务和 Vim 之间的通讯是通过通道完成的。


    定时器

    另外一个异步工作的是定时器timer,可以启动一个定时器并不断重复调用某个函数。比如:let tempTimer = timer_start(4000, 'CheckTemp') 。


    Partial

    Vim 已经有了一个 Funcref 功能,这是一个函数引用。partial 也是一个函数引用,但是它可以绑定参数或字典。这对于频道或定时器的回调很有用。 比如:let tempTimer = timer_start(4000, function('CheckTemp', ['out'])) 。


    Lambda 和闭包

    lambda 是创建函数最快的方式,比如:{args -> expr}。它对于 filter() 和 map() 很有用,而且还支持函数参数。如:call filter(mylist, {idx, val -> val > 20})。

    lambda 可以使用定义 lambda 表达式范围内的变量,这常被称之为闭包closure。


    插件包

    插件越来越多了,为了更好的管理插件,因此支持了插件包的支持。


    窗口 ID

    以前 Vim 中的窗口只能通过数字编号来访问,当打开、关闭或移动窗口时,这个数字也随之而变。现在每个窗口都有了一个唯一的 ID,可以更方便的找到它们。


    折行缩进

    新增的 'breakindent' 选项可以保证在折行时维持缩进不变。


    Windows:支持 DirectX

    新增的 'renderoptions' 选项可以在 Windows 上切换到 DirectX (DirectWrite)引擎上。

    支持 GTK+ 3

    一般用户很难注意到 GTK+ 3 和 GTK+ 2 的区别。对这两者的配置仍然都支持。

    更多的变化细节,可以参考这里


    下载:

    得到最新版本的 Vim 的最好方式是使用 Git :

    git clone https://github.com/vim/vim.git

    更多信息可参考: http://www.vim.org/git.php


    UNIX/Linux

    源代码及运行时文件: ftp://ftp.vim.org/pub/vim/unix/vim-8.0.tar.bz2 。

    在 Linux 下,你总可以使用你的软件包管理器来安装最新的 Vim 8.0,不过如果你的发行版仓库还没有提供的新的 8.0 的话,你可以享受一下自己编译的乐趣。

    如果你希望按照你自己的想法定制一个 Vim,那你可以下载源代码,并在 src 目录里面进行编译,可以参考 src/INSTALL 了解如何编译和安装。

    Windows

    安装程序:ftp://ftp.vim.org/pub/vim/pc/gvim80.exe

    运行时文件: ftp://ftp.vim.org/pub/vim/pc/vim80rt.zip

    Windows 95/98/NT/2000/XP/7 图形界面版: ftp://ftp.vim.org/pub/vim/pc/gvim80.zip

    带有 OLE 支持的版本: ftp://ftp.vim.org/pub/vim/pc/gvim80ole.zip

    Windows NT/2000/XP/7 字符界面版:ftp://ftp.vim.org/pub/vim/pc/vim80w32.zip


    8.0 不再支持的版本


    • 16 位的 DOS、OS/2 和 Amiga 版本


    • 32 位的 MS-DOS/Windows 95/98 的字符界面版


    • 16 位的 MS-Windows 版本


    文档与帮助

    对于初学者来说,有一个叫 vimtutor 的一小时教程可以看看(当然是英文的),请通过 :help tutor 了解更多信息。

    学习 Vim 的最好方式之一是在 Vim 中使用:help,如果你还没有 Vim 二进制程序,你也可以看看 runtime/doc/help.txt,它包含了对其它文档的指引。这个用户手册就像一本书一样,推荐使用它来学习 Vim。详见 :help user-manual。

    [广告]活动入口:

    买美股,上老虎 - 超低佣金,每股只需1美分
     
正在加载...