vim 中的 text objects 是高效编辑必备技能之一,写了一篇文章介绍如何定义你自己的 text objects,提供了两个详细的例子,一个是定义 URL text objects (iu),一个是定义 Markdown fenced code blocks (ic, ac)。
作用:定义了 text object 以后,对于 URL,ciu就可以更改当前 URL,yiu 就可以复制当前 URL,不用再移动光标,手动选择 URL 的文字,然后再操作,方便了很多。对于 fenced code block,yic 就可以复制当前 code block 代码,yac 将会复制整个 code block 区域 (包含前面以及后面的 backtick 区域)。