光标不闪烁是因为 opacity: 1 锁死了 atom 的闪烁动画;需删除或修改 styles.less 中相关 css,或改用配置项 cursorblinking 设为 'solid' 等值来可靠控制。

光标不闪了?大概率是 opacity: 1 锁死了动画
Atom 默认靠在 opacity: 0 和 opacity: 1 之间切换实现闪烁,如果你在 styles.less 里写了 atom-text-editor.is-focused .cursors .cursor { opacity: 1; },就等于手动关掉了这个切换逻辑。现象是光标常亮、无闪烁,不是插件冲突也不是 Atom 崩溃。
- 最简单恢复方式:删掉这行 CSS,或改成
opacity: 0.99(非整数值可绕过 Atom 的闪烁检测) - 别用
!important强盖,它会干扰后续配置生效顺序 - 改完
styles.less后必须手动执行Window: Reload,热保存不触发重载
想调慢/加快闪烁节奏?得配 CSS @keyframes
仅改 opacity 值无法控制速度;Atom 不读取 CSS 的 transition 或 animation-duration,除非你显式定义整套动画规则。
- 在
styles.less末尾加:@keyframes cursor-blink { 0%, 100% { opacity: 1; } 50% { opacity: 0; } } atom-text-editor.is-focused .cursors .cursor { animation: cursor-blink 1.5s step-end infinite; } -
1.5s是完整周期(亮→暗→亮),数值越大越慢;step-end能避免淡入淡出导致的“呼吸感” - 多光标下慎用带
delay或缓动函数(如ease-in)的动画,容易不同步甚至部分光标消失
彻底关闭闪烁?别碰 CSS,改配置项 cursorBlinking
硬塞 opacity: 1 是临时方案,容易和主题、插件样式打架;Atom 原生支持更可靠的开关方式。
- 打开设置 → Core Settings → 找到
Cursor Blink Rate,设为0 - 或直接编辑
~/.atom/config.cson,在'editor': {}块内加一行:'cursorBlinking': 'solid' -
'solid'表示常亮,'blink'是默认,'smooth'是呼吸式;这个设置优先级高于所有 CSS,包括第三方主题里的光标规则
迁移到 VS Code 后光标行为不对?先查 editor.cursorBlinking 配置
装了 Atom Keymap 插件不等于光标行为自动对齐——VS Code 默认是 'blink',而 Atom 的“呼吸感”对应的是 'smooth'。
- 在 VS Code 的
settings.json中显式设置:"editor.cursorBlinking": "smooth" - 别依赖插件自动同步,Keymap 扩展只管快捷键,不管光标渲染逻辑
- 如果用了自定义主题,确认它没覆盖
editor.cursorStyle或强制设了opacity











