主要观点:介绍了一篇关于在 Vim 中进行各种高级文本操作的文章Esoteric Vim,对比了 Vim 和 Kakoune(基于 Kakoune 的 Helix)在文本编辑方面的差异,展示了在 Kakoune 中如何更高效地解决一些常见的文本处理任务,如给枚举类赋值、修复冗长的 SQL 插入脚本、从模板中提取字段名、批量处理多个文件、将外部数据集成到项目中等,强调了 Kakoune 设计的优势。
关键信息:
- 文章日期为 2025 年 2 月,是关于现代 Vim 的近期文章。
- 展示了 Vim 中一些复杂的操作命令,如给枚举类赋值的命令
:g/,$/v;//;norm $i = 0
和递增所有数值的命令vi}o2/0,$<Enter>g<C-a>
。 - 在 Kakoune 中,通过类似 Vim 的技巧获取枚举字段的选择,然后使用
i = <c-r>#
为每个字段赋值。 - 修复冗长 SQL 插入脚本时,在 Kakoune 中通过
%sNEW<ret>
选择NEW
,gl
将选择移动到行末,然后使用r,
替换结尾符号。 - 可以使用 Kakoune 的
(
和)
循环主选择和次选择,或使用<a-k>
过滤选择。 - 在 Kakoune 中提取模板字段名时,通过
%s#if<ret>
选择#if
,w
两次选择字段名,y
复制,,
丢弃选择,然后进行整理和排序。 - 批量处理多个文件时,在 Kakoune 中通过
!git status
获取git status
输出,%smod<ret>wwlGl
选择路径,<a-|>
将每个选择作为标准输入传递给git update-index --skip-worktree
。 - 在 Kakoune 中处理外部数据集成时,使用宏和
execute-keys
功能,通过Q
开始录制宏,使用各种按键操作选择和格式化数据,然后使用q
应用宏到其他行。
重要细节:
- Kakoune 中的一些按键功能,如
<a-p>
粘贴所有选择,<a-s>
在每个选择的末尾添加光标,<a-_>
合并连续选择等。 - 在 Vim 中一些操作命令难以理解和记忆,而在 Kakoune 中更直观和交互性强。
- 强调了 Kakoune 设计的优势,能够通过增量和可视化的方式处理复杂工作流,无需使用 Vim 中的复杂正则表达式和替换命令。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。