跳过正文

文章

2024

3-4个月宝宝的睡眠训练

·105 字·1 分钟
四个月睡眠倒退期 # 宝宝进入包含5个不同阶段的新睡眠周期: REM(快速眼动):做梦睡眠 第一阶段:非常浅/昏昏欲睡的睡眠 第二阶段:浅睡眠 第三/四阶段:深度恢复性睡眠 宝宝在整个夜晚每隔一两个小时就会进入浅睡眠状态。他们需要学会在浅睡/短暂清醒后自行重新入睡。 七步指南 加满油箱 检查引擎 设定巡航控制 再次补充油量 踩下刹车 规划休息站 卸下包袱 1. 加满油箱 # 白天保持充足的喂奶量。 生长突增期很常见,我们需要根据饥饿信号来喂奶。如果白天喂得不够,宝宝在夜间就需要补充热量。我们要防止"反向循环": 夜间频繁喂奶 --> 白天吃奶不好 --> 夜间需要更多喂奶 2. 检查引擎 # 审查夜间作息流程 给宝宝独立的睡眠空间 创造有利于入睡的环境

幼儿睡眠训练

·297 字·2 分钟
为小家伙做好准备 # B-E-S-T # B - Building confidence(建立自信):聊聊关于睡觉的"好处"。可以表扬他们睡得很好,或者跟他们说自己睡得好、变强壮了,etc. 产生正面影响 E - Expectations(明确期望):明确表达你对他们的期望,希望他们做什么。“I’m going to give you lots of kisses, and you’re going to lay down on your bed, close your eyes and have a good sleep.” S - Simulate(模拟练习):练习睡前流程。“show me how to close your eyes?”; talk to stuffed animals.

Neovim 工作流

·468 字·3 分钟
与 Vim 相比,Neovim 内置了许多实用插件和功能,Lua 配置也更易读、更强大。以下是一些在 Nvim 中编写代码的实用技巧。 搜索(文件、文本、诊断、帮助) # 与 search-in-vim 中介绍的技巧类似,我们可以在文件中搜索文本,或通过过滤文件名来查找文件。在 Neovim 中,我们使用 fzf-lua,与 fzf.vim 非常相似。 使用 FZF 选择器 FZF 的界面由一个选择器(对条目列表进行模糊搜索)和一个预览窗口组成。在选择器中,使用 c-j/k/n/p(或 c-u/d)移动。Tab/S-Tab 用于选择文件。默认操作(Enter)是编辑文件或发送到 qflist,具体取决于选中数量。若要编辑多个文件,使用 c-e。 另一个实用命令是"恢复"(<Leader>sr),可以继续上次的 FZF 搜索。 模糊匹配查找文件 # 用途 快捷键 说明 当前目录 中的文件 <Leader>f PWD 最近文件(MRU) <Leader>o 非常适合搜索之前打开过的文件 缓冲区 的同级文件 <Leader>s. 也包含子目录中的文件 项目范围的文件(git) <Leader>gf 只显示 git 跟踪的文件 以 缓冲区目录 为起点的任意路径 <Leader>sf 按 Enter 前可以修改路径 搜索文本 # 在文件中 Grep # 用途 快捷键 说明 当前目录中的文件 <leader>/ 使用 keyword -- glob 过滤文件(! 表示排除模式) Git 根目录 <leader>g/ 同上 当前 word/WORD <leader>w/W w 在可视模式下也有效 实时 grep:两个快捷键都使用"实时 grep",即每次按键都会运行一条新的 ripgrep 命令并更新结果,可以即时测试 grep 表达式。

2021

在 Vim 中搜索

·372 字·2 分钟
搜索是开发中最常用也是最重要的操作之一。Vim 提供了非常高效和方便的搜索功能。 这篇笔记记录了一些常用的搜索命令、例子以及自定义的 key mapping。 使用 ripgrep 搜索文件内容(:Rg2 或 ,gg,,gw/,gW) 使用 git-grep 搜索 git branch/commit,以及使用 fzf 显示 git grep 的结果(:Ggrep) 使用 fzf/coc list 搜索当前文件/buffers 中的行,实现快速定位/跳转 使用 quickfix lists 快速访问上述搜索的结果,以及利用 :cdo/:cfdo 等命令对结果进行批量操作 在文件中通用搜索 # Ripgrep 与 fzf # fzf.vim 提供了 :Rg 命令来调用 ripgrep 搜索当前目录。不过,我构建了一个更实用的变体,支持指定路径并向 ripgrep 传递其他参数,映射到快捷键 <Leader>gg。

Vim 技巧

·158 字·1 分钟
搜索与处理多个文件 # 搜索 # 关于在文件中搜索词语/符号,请参见 search-in-vim。 要快速按文件名查找并打开文件,我使用 fzf 和 coc-list,以及以下按键绑定。 通用搜索 要在_工作目录_(而非当前文件/缓冲区目录)中打开文件,使用 :Files 或 ,lc(list current,列出当前目录)。 我还创建了快捷命令 ,lf(list file,列出文件),从当前缓冲区所在目录开始,可以在开始搜索前输入路径。 此外,还有 :Buffers / ,b 用于列出已打开的缓冲区,方便快速跳转。当打开了很多文件时非常有用。不过,使用 quickfix 列表、标记,或 :Lines / ,l* 精确跳转到某一行往往更高效。 Git 相关 要打开当前 git 仓库中的文件,使用 :GFiles 或 ,gc(git content),这使用 git ls-files 的文件列表,会遵循 .gitignore。 要只查看已修改的文件,使用 GFiles? 或 ,gs(git status)。

键盘 PCB 设计

·591 字·3 分钟
功能亮点 # 最初我想做一块分体键盘,但由于已经有了一块分体板(crkbd),做一块类似 Arteus/Reviunge 的一体板更有意义。 设计采用激进式行列错位(与我的分体设计相同的列错位),列方向倾斜 15 度。 其他功能: OLED 状态显示 RGB 底部灯 音频 编码器 STM32 设计考量 # 由于 F072 缺货,将使用 F411。 在 QMK 中配置 STM 芯片的技巧:https://discord.com/channels/440868230475677696/440870965728116754/839978277489082370 查找使用特定芯片的键盘的代码片段: 1 2 3 4 5 6 7 8 9 10 % git grep 'MCU\s*=\s*STM32F411' keyboards/ keyboards/handwired/onekey/blackpill_f411/rules.mk:MCU = STM32F411 keyboards/handwired/onekey/blackpill_f411_tinyuf2/rules.mk:MCU = STM32F411 keyboards/handwired/pill60/blackpill_f411/rules.mk:MCU = STM32F411 keyboards/handwired/riblee_f411/rules.mk:MCU = STM32F411 keyboards/matrix/m20add/rules.mk:MCU = STM32F411 keyboards/matrix/noah/rules.mk:MCU = STM32F411 keyboards/tkw/grandiceps/rules.mk:MCU = STM32F411 keyboards/tkw/stoutgat/v2/f411/rules.mk:MCU = STM32F411 keyboards/zvecr/zv48/f411/rules.mk:MCU = STM32F411 外设的 DMA 通道 # I2C、SPI、ADC、DAC 等外设使用 DMA 通道。PWM 也可以使用 DMA 以获得更好的性能,例如用于 LED 驱动器。STM32F072 有 7 个 DMA 通道(详情见参考手册)。选择外设时需要谨慎,避免 DMA 通道冲突。