
距推出 Vim 8.1 已经过去一年多了,Vim 8.2 也终于在近日发布了。对于喜欢使用vim文本编译器来开发的用户来说,这真是个好消息。

升级起源
Vim 开发团队的成员作者bram表示,在去年的 VimConf 2018 做主题演讲之前,他向 Vim 插件开发者询问了他们对 Vim 的功能需求。其中““弹出窗口(Popup Windows)”和“文本属性(Text Properties)”这两项呼声最大。在经过一年多的努力之后,这两项功能终于加上了。必须得点个赞。
弹出窗口(Popup Windows)
先来介绍这个功能,这是个新引入的概念,Vim 官网称,这是不小的努力。之前版本需要额外的逻辑,特别是更新屏幕的效率,和最新版本的差异比较大。
此功能用于在正在编辑的窗口的最前方显示消息框、函数原型、代码片段以及其他信息等相关文本,而且可以快速打开和关闭,并且支持以多种方式突出显示。
显示的位置也非常灵活,不需要告诉 Vim 具体在哪里显示,它们可以相对于文本定位在绝对位置或仅在屏幕中间。窗口的大小可以调整以适应文本。设置"zindex"值就能指定 popup window 在其他窗口前面,这些都是个大的进步。
文本属性(Text Properties)
另一个重大功能文本属性用于处理语法高亮显示、高亮文本片段等特性,而不是使用基于模式的高亮显示。并且该特性可以用来代替基于模式的语法突出显示。
其他值得关注的新功能:
"const"命令,用于声明一个不能改变的变量:
const TIMER_DELAY = 400用于方法调用的函数链
mylist->filter(filterexpr)->map(mapexpr)->sort()->join()通过指派 Heredoc 样式,可以轻松地将行列表指派给变量,而无需引用或 line continuation:
letlines =<< trim ENDline oneline twoEND
小游戏 Killersheep
Vim发布8.2版本,作者bram为了宣传新特性特意写了一个游戏插件叫做杀羊游戏,(喜羊羊这个可爱,你居然杀羊羊,哈哈哈)这个插件利用上了用上了vim新特性:悬浮窗口,音频支持,textprop等,游戏开始时一只只羊从右到左走出来还发出一声声咩咩叫,低栏一个大炮可以发射子弹杀掉羊,羊们也会时不时发子弹打你…打死羊或者自己会被打死时都会发出好可爱的叫声……

bram一把年纪还非常搞怪,几十年如一日维护着一个开源软件没给自己带来啥好处,有时候还有一些人不服他的vim路线的霸道,准备另外搞个项目,所以他之前特意做了一个命令叫做smile,解释道Programmers are not always happy,Let’s smile。嘲笑他们。感觉Bram真的是一个老顽童,一个真正黑客,向开源精神致敬!

Ubuntu 18.04编译安装Vim最新版本8.2
git clone https://github.com/vim/vim.gitcd vim./configure --with-features=huge --enable-gui=gtk2 --enable-cscope --prefix=/usr./consudo make VIMRUNTIMEDIR=/usr/share/vim/vim82sudo make install

如果一切顺利就安装完了!!!执行版本查看命令:
vim --version

相关链接
详细更新内容请查看 :
https://www.vim.org/vim-8.2-released.php
小游戏在 GitHub 上开源了:
https://github.com/vim/killersheep
Vim 新版下载页面:
www.vim.org/download.php
Vim 的详细介绍:
https://www.oschina.net/p/vim

推荐阅读
(点击标题可跳转阅读)
【24小时学通Linux内核】系列,想知道的都在这里
【Linux设备驱动】系列汇总,我写了什么?
经典资料强烈推荐 | 目录汇总 | 下载说明
