diff options
Diffstat (limited to 'content/posts')
| -rw-r--r-- | content/posts/weekly/63/index.md | 41 |
1 files changed, 36 insertions, 5 deletions
diff --git a/content/posts/weekly/63/index.md b/content/posts/weekly/63/index.md index 2920abb0..6c7f79cc 100644 --- a/content/posts/weekly/63/index.md +++ b/content/posts/weekly/63/index.md @@ -1,10 +1,13 @@ --- title: 稻草人周刊 Vol.63 -subtitle: +subtitle: 关于我为什么没写周刊这回事 tags: -date: 2026-01-11 21:46:24 +- Geek +- 软件 +- 开源 +date: 2026-01-12 09:51:58 categories: 稻草人周刊 -draft: true +draft: false toc: true toot: --- @@ -18,7 +21,7 @@ toot: --- -又到周一啦,我得很不幸地告诉各位读者——我这周根本就没写周刊。怎么办呢?63 也不是个什么特殊的数字,总不能编一个「特别辑」出来糊弄读者吧? *考拉沉思中……* 既然如此,那这期周刊就来写一写「我这周为什么没写周刊」吧。 +又到周一啦,很不幸地告诉各位读者——我这周根本就没写周刊。怎么办呢?63 也不是个什么特殊的数字,总不能编一个「特别辑」出来糊弄读者吧? *考拉沉思中……* 既然如此,那这期周刊就来写一写「我这周为什么没写周刊」吧。 嗯,是个不错的主题。 @@ -28,6 +31,14 @@ toot: 如果你感兴趣,可以查看我的 [NeoVim 配置](https://github.com/BigCoke233/nvim)。 +比较值得一提的是我没有安装 `nvim-tree` 和 `neo-tree` 这些传统的目录树插件,标签页插件也在用过一段时间之后就卸载了。个人感觉,这两类插件是依照 GUI 编辑器的使用习惯来设计的,在 NeoVim 里有更好的选择。其实我在 VS Code 系的编辑器里就很少使用目录树和标签页,我更喜欢按下 ⌘P 快捷键,按照名称搜索文件进行跳转。NeoVim 生态里非常好用的模糊搜索工具是 `Telescope.nvim`,按下 `<leader>ff` 就能按文件名模糊搜索,按 `<leader>fg` 是全局 Grep,也就是包括正文的模糊搜索。至于查看目录结构,这个操作并不高频,需要的时候在文件浏览器里查看就好了。我目前使用的是 `oil.nvim` 插件,类似于 Emacs 的 dired,可以像编辑 buffer 一样编辑文件系统,也方便查看目录结构。 + +此外,我还对中文编辑做了一些优化。我强力推荐以下这些插件: + +- [flash-zh.nvim](https://github.com/rainzm/flash-zh.nvim):使用小鹤双拼搜索和跳转到中文词。 +- [jieba.nvim](https://github.com/neo451/jieba.nvim):NeoVim 中使用 `b` 和 `w` 等按键按词跳转,没办法对中文进行分词,英文可以按空格或符号分割的词句跳转,中文就不行了,默认情况下,会直接跳过整个句子。这个插件优化了这一点。 +- [im-select.nvim](https://github.com/keaising/im-select.nvim):使用 NeoVim 需要频繁在 NORMAL 模式和其他模式下切换,切换后还要切换输入法,操作繁琐且击键次数增加。这个插件可以自动切换输入法,在切换到 NORMAL 模式时切换到英文输入法,切换到 INSERT 模式时切换到中文输入法。实际体验下来非常好用。 + ## 折腾博客 如果你现在把页面拉到最下方,点开文章底部的 Webmention 区域,你可能会发现来自 Fediverse 的互动。现在博客和我的联邦宇宙账号联通了,这是通过 [Bridgy](https://brid.gy/) 实现的,这个服务会定期扫描我的 Fediverse 账号和我的博客,包含了博客某个页面链接的内容就会被视作这篇文章在 Fediverse 上的载体,Fediverse 居民的点赞和评论都会被抓取到,然后 Bridgy 就会把这些互动数据以 Webmention 的形式发送到我的博客。 @@ -38,7 +49,7 @@ toot: ```text webmention.io <-抓取数据- CI/CD -提交更改-> Git 仓库 - ---部署---> Cloudflare Workers + --部署--> Cloudflare Workers ``` 如果你想试试,可以点击页面底部的「在 Fediverse 上互动」,点赞和评论都会在 30 分钟内被抓取并更新到这个页面里。 @@ -117,6 +128,26 @@ RSS 真的是伟大的发明。就这样,听播客这件事情也去中心化ä ○ Ghostty 49.3MB ``` +前几天和[小氯](https://chlo.is/)邮件交流,对方推荐我写一个 [/uses](https://uses.tech/) 页面,于是本周六我就在博客新增了「[器用](/uses)」页面,罗列了我使用的硬件、软件和服务。 + +## 学习上帝的语言 + +这几天在 Matrix 上和 [Southfox](https://blog.southfox.me/) 聊天,被成功传教开始学 Clojure(一门 Lisp 方言)。*大概再过几个月我就会成为一个熟练使用括号的真正的黑客了。* + +要安装 [Clojure](https://clojure.org/),需要下载他们提供的 JAR 包…… 所以,上帝的语言居然是用 Java 这门粗俗的语言写就的吗!笔者很不喜欢 Java,*你的意思是你们实现跨平台的方式就是在运行程序之前先启动一个虚拟机,疯了吗?编译器是拿来干嘛的?* 也有可能是我被逼无奈在学校用 Spring Boot 做了不少 Web 项目,所以被恶心到了。Spring 系的 Web 项目,结构往往都非常臃肿,即便有依赖注入和控制反转之类的用于降低耦合度的概念,改一个需求仍然要动很多文件。配置文件也基本都是用 XML 写的,这门语言从头到脚都是臃肿的。 + +所以一想到启动 Clojure 程序就要启动一个 JVM,底下还是 Java 代码在跑,我还是觉得有些膈应的。哎,但是 Java 已经无处不在了,还是早点接受为好。 + +至于学习进度,我已经掌握了 Lisp 语言的全部语法!如下: + +```clojure +;; Hello World in Clojure +(println "Hello World") +``` + +Lisp 里面唯一的结构就是列表(或者说元组),第一个元素是函数名,剩下的全都是参数,列表可以嵌套。好了,现在你也学会了,赶进去写一个二叉树翻转算法吧! + + [^1]: Free and Open-Source Software,自由和开源软件 |
