Sublime怎么用多光标高效编写枚举类型

秋涛同学_6722

秋涛同学_6722

2026-10-25

996人浏览

原创

sublime中高效编辑枚举需精准控制多光标:ctrl+d选词失败主因是大小写敏感、单词边界或光标位置不准;列选择应从行首空白处开始;ctrl+shift+l拆行后需按home对齐光标;回车/退格/粘贴在多光标下会全局生效,须谨慎操作。

sublime怎么用多光标高效编写枚举类型

Sublime 里写枚举类型,别手动一行行敲——用多光标能 3 秒对齐、补全、加引号、加逗号,但前提是光标落点必须精准,否则一按回车就全乱套。

Ctrl+D 选中所有枚举名时为什么跳过了某个值

双击 STATUS_PENDING 后连按 Ctrl+D,结果 STATUS_FAILED 没被选中?常见原因有三个:

  • 当前查找面板启用了 Aa(大小写敏感),而你文件里混用了 status_pending 或 Status_Pending
  • 目标词前后有空格、制表符或引号,Ctrl+D 默认只匹配“完整单词”,"STATUS_PENDING" 和 STATUS_PENDING 被视为不同项
  • 光标初始位置不在纯标识符上——比如停在下划线中间或末尾分号上,Ctrl+D 会尝试匹配整个 token,但识别失败

安全做法:先双击选中干净的 STATUS_PENDING(确保高亮区域不含引号、空格、点号),再按 Ctrl+D;仍漏掉就打开查找面板,输入 \bSTATUS_[A-Z_]+\b,勾选正则和 Aa,点 Find All —— 这时每个匹配开头都会生成一个光标。

列选择补全逗号和引号最容易错的位置

写完枚举值列表后想统一加引号和逗号,列选是最稳的方式,但拖拽起始点错了就白干:

  • 别从第一个字母开始拖:比如想给 STATUS_PENDING 加引号,从 S 开始垂直拖,会导致后续行光标落在不同列(因各值长度不一)
  • 正确起点是每行**最左对齐的空白处**:把光标移到第一行行首,按 Home 确保在缩进后、词前的位置,再按住 Alt+Shift(Windows/Linux)或 Option+Shift(macOS)向下拖到最后一行同一列
  • 拖完立刻按 Home 或 End:所有光标会跳到行首或行尾,避免打字时错位

例如处理这三行:

AiBiao.cn
AiBiao.cn

一款AI数据处理工具,主要用于一句话自动生成图表,适合需要提升相关任务效率的用户。

下载
STATUS_PENDING
STATUS_PROCESSING
STATUS_COMPLETED

列选行首空白后按 Home,再输入 ",就变成:

"STATUS_PENDING
"STATUS_PROCESSING
"STATUS_COMPLETED

Ctrl+Shift+L 拆行后光标没落在预期位置

选中全部枚举行,按 Ctrl+Shift+L,结果光标全堆在行尾,没法统一加前缀?这是因为该命令默认把光标放在**每行换行符前**,而非行首。

  • 拆完立刻按 Home:所有光标跳到行首(含缩进),适合加 case 、public static final 等前缀
  • 如果行首有不同缩进(比如部分行多两个空格),Home 会停在各自缩进终点,此时应先用 Ctrl+Shift+P → 输入 AlignTab: Align(需装 AlignTab 插件)对齐,再拆行
  • 更可控的做法:不依赖 Ctrl+Shift+L,而是用 Ctrl+L 逐行选中(连按多次),再统一按 Ctrl+Shift+L,100% 按行生效

回车、退格、粘贴在多光标下有多危险

枚举写到一半想换行加注释,随手按了 Enter——结果每行都劈开成两行。这不是 bug,是多光标的设计逻辑:

  • Enter 在多光标下 = 在每个光标处插入新行,不是“只在最后一行回车”
  • Backspace 会同步删掉每个光标前一个字符,如果某行光标在行首,就可能删掉上一行的结尾
  • Ctrl+V 会把剪贴板内容粘贴到每个光标位置,若剪贴板是多行文本,结果不可预测

真正安全的操作顺序是:Ctrl+Shift+L → Home → 输入 /** */ → Esc 退出多光标 → 用方向键定位到每处 /** 中间补内容。复杂结构宁可分步,也别赌光标没偏移。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

sublime多光标 sublime

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

2026.10.22

20

11

Gradle Wrapper配置教程
Gradle Wrapper配置教程

本专题介绍Gradle Wrapper的基本作用,涵盖文件组成、生成方法、版本配置和任务调用,帮助你理解项目如何使用指定的Gradle版本,减少不同开发环境带来的构建差异。

2026.10.22

20

10

Golangci-lint检查器使用教程
Golangci-lint检查器使用教程

本专题整理Golangci-lint常用Linters的用途与配置方法,覆盖错误处理、无效代码、安全、复杂度、命名和依赖检查,帮助项目合理选规则。

2026.10.22

20

15

Gradle怎么构建Java项目
Gradle怎么构建Java项目

本专题介绍Gradle Java项目构建方法,涵盖Java插件配置、依赖声明、源码编译、测试执行和打包检查,帮助你理解各阶段的任务关系,逐步完成项目构建。

2026.10.22

0

10

PHP时间戳漏洞修复教程
PHP时间戳漏洞修复教程

本专题汇总PHP常见时间戳漏洞,包括2038年溢出、时区漂移、时间戳伪造、重放攻击、时间盲注与日志审计失效等,并给出升级64位环境、使用 DateTimeImmutable、统一UTC、严格超时校验、预处理绑定、hash_equals 比对等修复方案,帮助开发者快速排查和加固时间相关代码。

2026.10.22

20

25

Golangci-lint配置文件与规则设置
Golangci-lint配置文件与规则设置

本专题聚焦Golangci-lint YAML配置文件,讲清运行参数、规则启停、目录排除、问题过滤及严重级别设置,便于团队统一检查标准。

2026.10.22

20

15

Golangci-lint安装与入门教程
Golangci-lint安装与入门教程

本专题讲解Golangci-lint的安装、初始化、基础命令和首次代码检查,覆盖本地环境、Docker及多平台用法,帮助Go开发者快速上手。

2026.10.22

20

15

PHP2Shell高危漏洞修复教程
PHP2Shell高危漏洞修复教程

PHP2Shell漏洞是什么,哪些PHP版本和运行环境会受到影响,服务器应该如何检测与修复?本专题提供版本自查脚本、Linux与Docker升级命令、PHP-FPM和Apache排查步骤,以及修复验证、临时缓解和应急响应方案。

2026.10.22

100

12

剧云人物设定与关系管理教程
剧云人物设定与关系管理教程

本专题介绍剧云人物设定与关系管理,讲解角色小传、性格职业、人物目标、背景资料和关系网络的创建及维护方法。

2026.10.22

20

16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程