TIL = Today I learned

2024-12-17 加快 macOS 里光标的移动速度#

找到「系统设置(Sytem Setting」里的「键盘(Keyboard)」,将里面的「Key repeat rate」调向 fast 以及「Delay until repeat」调向 short。

效果拔群!

2024-12-17 使用「Shift + 方向键」在 Emacs Calendar 里自由选择日期#

在 org-mode 里,按下 C-c C-s 会出现一个日历视图(Emacs Calendar),可以让人直接输入 +1、+2 这种方式来选择未来的日期。

这种方式不够直观、方便,今天发现,在唤出日历视图后,可以直接按着 Shift + 上下左右方向键,将可以自由移动 Emacs Calendar 里的光标,从从容容地选择日日期。

2024-11-24 Ant Design 组件基本分类#

架构设计#

  • 分层
    • 基础组件
    • 样式体系
    • 复合组件
    • 业务组件
  • 解耦
    • 对于每个组件都要定义:样式、ts 类型、基础操作、工具方法
  • 响应式设计

状态管理#

  • 状态管理
    • 全局状态:在 react 使用 Context、useSyncExternailStore
    • 局部状态:受控组件,非受控组件

样式体系与主题设计#

  • Color Tokens : 颜色色值系统
  • 样式模块化方案:css-in-js、emotion(建议试一试)、styled-compontents
  • 样式优先级与覆盖:控制样式优先级

2024-11-06 给 Emacs 打 Patch#

来源: Telegram 群组 “Emacs_CN Lite 轻聊版” @Lucius_Chen

/opt/homebrew/Library/Taps/d12frosted/homebrew-emacs-plus/Formula/ 下的 [email protected] 文件需要修改 Path 栏的 local_pathcommit

如果需要打 patch,可以将 patch 文件放在: /opt/homebrew/Library/Taps/d12frosted/homebrew-emacs-plus/patches/emacs-31


2024-11-05 Vim 命令 - Scroll & Move#

Scroll#

  • 滚动一页: C-f / C-b
  • 滚动半页: C-d / C-u
  • 滚动一行: C-e / C-y

以词定位#

  • 下一个单词的开头: w / WW 更加直接)
  • 当前单词的末尾: e / E
  • 上一个单词的开头: b / B

以行定位#

  • 去到行首: 0
  • 去到行尾: $
  • 去到第一个非空字符: ^
  • 去到最后一个非空字符: g_

以屏定位#

  • 去到当前屏幕中的第一行: H
  • 去到当前屏幕的中间一行: M
  • 去到当前屏幕的最后一行: L

2024-10-27 解决一个神出鬼没的 Bug#

一句话说明问题#

升级 org-zettel-ref-mode 的数据库格式导致加载数据库的函数无法读取正确的数据库,结果引发内存错误链。报错信息仅显示 “let*: End of file during parsing”,未提供具体细节。

辛苦的过程#

  1. 起初以为是代码括号匹配问题,检查后无果。
  2. Emacs 群中请教后仍未找到问题。
  3. 尝试将所有 let* 改为 let,但问题依旧。

灵光一闪#

总结经验后怀疑是别处问题。直接运行导致报错的函数,终于获得详细的错误报告,从而顺利解决问题。

问题分析#

关键错误:

  • read 函数失败返回 nil
  • 后续试图从 nil 中获取 :entries,导致问题传递。

调用链分析:

  1. org-zettel-ref-db-load()
  2. 内部 let* 执行失败,触发错误。

2024-10-20 让大陆用户顺利访问部署在 Vercel 上的网站程序#

在域名服务商的 DNS 记录中使用: cname-china.vercel-dns.com


2024-10-17 使用 Emacs 的 Register 方便工作#

观看视频 Emacs: Store anything with registers and bookmarks 后,更清楚 Register 的作用。

Register 的特点#

  • 临时保存:
    • 光标位置
    • 窗口布局
    • 文件(需自定义命令)
  • 内容会随 Emacs 重启或被覆盖而丢失。
  • 快速覆盖机制适合处理临时性任务。

Register 与 Bookmark 的结合#

Register 适合临时任务,Bookmark 可用于长期保存,高效结合使用能提升工作效率。


2024-10-16 不移动光标的情况下滚动行#

Emacs 内置了两个命令:

  • scroll-up-line
  • scroll-down-line

#https://www.v2ex.com/t/1087594#reply28 2024-10-07 软件工程的性能测试 所有软件工程都应通过 Profiler 测试性能。Emacs 中可以通过以下命令实现:

  • 启动性能测试: M-x profiler-start
    • 选择 CPU 消耗、内存消耗,或 CPU+内存消耗。