Pensieve: 2107

2021-07-23 19:05

所观所读所听所玩

这个月加了不少音乐:

在Netflix上看了一个巴乔的纪录片(Baggio: The divine ponytail). 很是可惜, 如果没有这几次受伤, 拿到一两个世界冠军还是很有可能的. 的确, 人们喜欢巴乔是因为他是不完美的, 更近人一些.

去旅游的时候重温了一遍七龙珠, 最精彩的还是弗利萨和沙鲁那段, 后面的魔人布欧让人失望. 不过这次看我开始羡慕界王的生活状态. 生活在一个小星球上, 睡到自然醒, 不用做什么辛苦的工作, 与世无争地活着, 多好.

大概花了几十个小时在玩Minecraft dungeons这个游戏, 没怎么特别享受. 人物没有任何技能, 所有的技能都是武器自带的. 武器的特效说来说去也就那么多, 越往后玩就越来越变成一个数值的游戏. 在找来视频刷了一遍隐藏的牛关后就放弃了. 现在有点庆幸自己没花更多钱去买DLC. 开始发愁这次PlayStation打折要买什么.

这个月趁着娃放假去Mornington半岛旅游了一次. 说是旅游, 实际上住的地方离家开车也就一个半小时. 算是带着娃休闲了一把. 风景是还好, 不过也没什么特别的.

init.lua

这个月neovim发布了0.5.0版, 这个大版本更新添加了很多令人兴奋的新特性. 具有高亮地位的自然是lua支持. 现在neovim里面原生支持lua脚本, 而且可以用lua来编写配置文件. 趁着换工作的空档就折腾了下, 把自己之前的vi主配置文件切换到了lua. 完成后的代码在这儿. 下面说一下中间做了哪些事情.

首先是插件管理器, 我参照大多数lua党的做法, 使用了packer. 谈不上特别的好处, 一个插件管理器而已, 相对于之前用的Plug, 似乎优点只是能够管理自己, 不过我觉得这个不太有所谓. 接下来是使用的插件们, 几天折腾下来, 能够保留下来的插件有:

其余的:

配置的时候走了一点弯路, 后面平心静气地思考怎么一步一步配就好了. 我这儿说的是怎么用Tab键来补全一切内容的事儿: 我一开始就加上了neovim/nvim-lspconfighrsh7th/nvim-compe这两个插件, 试用了一下感觉不错, 就开始迁移其他的插件. 不过和compe冲突的插件实在不少, 除了auto-pairs这样的东西, 默认的ultisnips也会占用Tab键, 更别提我一开始就放弃了的supertab了. 后来我删除掉了所有这些可能造成冲突的插件, 然后一个接一个地引入到配置文件中来, 每加入一个插件就充分测试, 保证前面的功能都正常(如果不正常就解决), 折腾了几个小时也就搞完了. 最后结果还算满意.

接下来是将自己常用的几个vim函数用lua重写, 这个也还比较容易, 这几个函数有两个大的功能, 我也就放在了两个文件里面, 一个是负责行号的显示, 在I模式下我希望能够显示绝对行号, 而在N模式下我希望能显示相对行号(方便复制粘贴和删除). 另外, 有一个印在我肌肉里的快捷键能够切换这些行号的显示. 另一个是模版的功能, 对于某些文件类型, 新创建的文件应该有一些行. 比如对于一个新的bash脚本, 我希望它的头部类似:

#!/bin/bash

set -o errexit
set -o nounset
set -o pipefail

具体逻辑比较简单, 我也就不提了. 总体来说, 这次重写方便了后续的维护, 毕竟VimL不是一个好的编程语言.

对于init.lua, 我主要的槽点是一些API实在不好看, 比如做键映射的api, 另外, 还有些api根本没有lua的接口, 比如autocmd现在就只能调vim.cmd来搞. 没啥, 等neovim 0.6吧. 迁移的过程中也发现一些新插件比较好用, 比如luasnip能够用lua来定义snippets, 又比如formatter能够用一个插件和vim命令(快捷键)来调用外部命令实现对文件的重排版. 另外就是之前发现的semshi里的f-string显示异常的bug终于有一点进展了, 虽然没有完全修好, 但是至少有PR了.

另外列一下我在研究过程中参考过的文档们:

面包机

上次说到家里买了一个松下的面包机. 拿回来后试做过有六七次了, 基本还满意, 不过因为家里发酵粉的缘故, 每次面包刚出锅的时候热腾腾地很软, 但是稍凉一些以后就变得很硬了. 查了下貌似是保存的时候应该封口和注意保温, 避免淀粉变性. 不过总体来说还是挺满意的, 热面包很好吃.