sed 速记

sed 命令是一个强大的、基于行的文本处理命令,它仍被广泛使用。 sed 借助正则表达式对文本的某行进行增删改查。 基本格式 sed [options] {script} [input file] 增 cat pets.txt # output: # This is my cat # my cat's name is betty # This is your dog # my dog's name is frank # This is my fish # my fish's name is george # This is my goat # my goat's name is adam sed "/fish/a I like fish too" pets.txt # output: # This is my cat # my cat's name is betty # This is your dog # my dog's name is frank # This is my fish # I like fish too # my fish's name is george # I like fish too # This is my goat # my goat's name is adam 我们可以看到文本会被添加到匹配行的后面,如果想要将文本插入到行前面,则使用 a 参数。

Keychron K2 使用体验

因为从来没用过机械键盘,一直用的薄膜和静电容,所以想尝试玩玩,入手了一块 K2 。怎么说呢?因为是随便选的,而且也没有深入了解,这块键盘真的是让我一言难尽啊!

读上海房地产研究恶文有感

读完那厮的文章后,本来想写点驳斥的内容的。但细细想了想,他通篇像是说了什么东西,又似乎什么都没说,除了满口独断论式的发言之外,也没有别的东西。说的东西也不新奇,无非是“达不兼济天下,反怪穷人独善其身”的翻版。驳之无味,斥之可惜,鸡肋。

coc-kite-cmp 发布

最近在尝试 AI complete ,主要是 TabNine 和 Kite ,两者可以基于本地代码作出较好的智能推测。在 VSCode 上,两者都有对应的插件,但在 Vim 上时,情况就不同了。我使用的是 coc.nvim ,作为我的补全框架, TabNine 有 coc-tabnine ,但 Kite 的 coc-kite 与 VSCode 上的不一致。于是我决定手动解决这个问题。

开源社区需要终身仁慈的独裁者吗?

最近随笔确实有点多,但生活其实不能只有代码,回头看看也需要将随笔分分类了。说回正题, BDFL 像是个政治名词,但实际上是用来指代某些开源软件的开发者,比如 Linus 、 Python 之父。说起开源,人们印象里会是更加民主的感觉,甚至是直接民主。但直接民主的开源是有问题的,用户提出的想法不能等同于需求,也未必合适于项目,因此筛选是必须的,而仁慈的独裁者在这其中拥有绝对的主导权。

PHP学习(一)—— 面向过程的 PHP

PHP 其实很早之前就学过,但时间一长没有用,基本上是忘了。所以最近是重新捡起来。 PHP 很语法还是很缝合的,光看它面向过程的语法像 C ,但面向对象像 C++ 和 Java 的杂交,而且 PHP 虽然兼容,但如果尽量用上新特性的话,都觉得是两门语言。我并不打算学过去 PHP 5 那种语法,当初学得恶心,最新的 PHP 语法其实好很多。

开源正在死亡

开源正在死亡,或者说,已经死亡。 起因是 Faker.js 作者破坏代码的行为,本来这种行为按我以前的肯定是会批判作者的,但我想想不对,为什么每次遇上这样的问题都是作者的错?那么作为始作俑者的商业公司,不就在这样的指责声中遁逃了吗?作者去进行他错误的行为的原因,就是因为那些吸血的商业公司,不去批判根本原因,而去批判作者,本质上就是挑软柿子捏,甚至是宽他人之容。

lua 快速入门

lua 是一门用标准 C 语言编写的、轻量小巧的脚本语言,它常常被嵌入到各种 C 语言项目中做扩展语言。它与 C 的兼容性不必多说,本身也是用 C 写的,速度也是非常的快。像 Redis 、 Nginx 、 AwesomeWM 等都拿它做扩展语言,现在 Neovim 也加入了增强 lua 语言扩展,性能也是非常好。虽然我目前没有用 lua 语言扩展的打算,但也不打算未来不用。总之,先学起来。