"点文件"和系统配置

这些点文件亲切地献给最初由比尔·乔伊创造的vi编辑器,我与它度过了许多愉快的夜晚[^1]
— Greg Hurrell,改编自唐纳德·克努特的话
概述

- 目标平台:macOS和Linux(见下方平台状态)。
- 设置方法:
美丽而复杂的雪花一个极其过度工程化的自定义配置框架,称为Fig。
- 截图中可见:
特性
点文件
一套点文件,我从2000年代初期就开始调整和修改(自2009年起使用版本控制)。特点包括:
- 通过括号粘贴模式实现Vim中的合理粘贴。
- 在本地和远程主机上,无论是否在tmux内,都可以访问本地剪贴板(通过Clipper)。
- Vim 和tmux中的完整鼠标支持(窗格/分割调整大小、滚动、文本选择)。
- tmux内Vim的焦点获得/失去事件。
- 进入Vim时切换光标形状。
- 终端中的斜体支持。
- 捆绑了(不过多的)一些有用的Vim插件。
- 保守的Vim配置(很少覆盖核心功能;大多数更改是不引人注目的增强;一些额外功能通过
<Leader>
和<LocalLeader>
映射暴露)。
- 相对克制的Zsh配置,类似Bash但带有一些Zsh特性,如右侧提示符、自动cd钩子、命令执行时间显示等。
- 通过Base16 Shell实现统一的颜色处理(跨Kitty和Vim)。
- 加密版本控制敏感内容文件(通过git-cipher)。
- 全面的Hammerspoon 配置。
Homebrew
在macOS上,"homebrew"方面安装了一堆有用的软件。
键盘自定义
在macOS上,我们使用Karabiner-Elements,在Linux上,我们使用Interception Tools和其他一些工具来进行以下更改:
- 使Caps Lock键在单击时作为退格键,与其他键组合时作为左Control键。单独长按Caps Lock键会触发重复的退格事件。
- 使回车键在单击时作为回车键,与其他键组合时作为右Control键。单独长按回车键会触发重复的回车事 件。
- 同时按下两个Shift键可切换Caps Lock开关。
- 使我的外接Realforce键盘上的功能键表现得像苹果键盘上的"媒体"键。
以下仅在macOS上:
- 在我的外接Realforce键盘上交换Option和Command键。
- 使Realforce键盘上的"应用程序"键(右侧额外的修饰键)表现为"fn"键。
- 将Control-I映射到F6(仅在终端中),以便在Vim中可以独立于Tab键进行映射1。
- 使Realforce键盘上的"暂停"键(功能键行最右侧)表现为"电源"键(实际上是睡眠)。
- 添加一个"SpaceFN"层,可以通过按住空格键同时按其他键来激活;我用这个在任何应用程序中使光标键在或接近主行可用。
Zsh
函数
ag
:透明地包装ag可执行文件,为该命令提供一个集中设置默认值的地方(因为它没有"rc"文件)。
bounce
:如果终端不在前台,则弹跳macOS Dock图标。
color
:更改终端和Vim配色方案。
fd
:使用快速的bfs
和sk
"查找目录";自动cd
到选定的目录。
fh
:"在历史中查找";选择历史项将其插入命令行但不执行。
history
:覆盖(较小的)默认历史计数。
jump
(别名为j
):跳转到已哈希的目录。
regmv
:批量重命名文件(例如regmv '/\.tif$/.tiff/' *
)。
scratch
:创建一个随机临时scratch目录并cd
进入。
tick
:移动现有的时间扭曲(例如tick +1h