Sublime怎么折叠选中的代码片段

云雪小哥_2262

云雪小哥_2262

2026-10-25

196人浏览

原创

fold_selection 是唯一能折叠任意选区的命令,它绕过语法识别与缩进校验,仅依赖用户选区;需启用 fold_buttons 才显示 gutter 折叠图标,且折叠状态不持久、不参与语义操作。

sublime怎么折叠选中的代码片段

fold_selection 是唯一能折叠任意选区的命令

Sublime 原生不支持“选中几行就折几行”,Ctrl+Shift+[ 只响应语法结构起点(如 def 行),不是选区操作。真正能绕过语法识别、缩进校验、作用域标记限制的,只有 fold_selection 命令。

  • Windows/Linux:鼠标选中任意连续多行 → 按 Ctrl+Shift+Alt+[
  • macOS:鼠标选中 → 按 Cmd+Ctrl+Option+[
  • 折叠后,左侧 gutter 立即出现独立三角图标,点击即可展开/收起
  • 该折叠仅存在于当前会话,关闭文件即丢失,不写入磁盘,也不影响其他自动折叠块

为什么 fold_selection 有时没反应?

它不依赖语法,但受 UI 层控制——如果侧边栏根本没显示折叠按钮,fold_selection 成功执行后也不会出现可点击图标,看起来就像“没生效”。

  • 检查用户设置:Preferences → Settings 右侧必须含 "fold_buttons": true
  • 若已启用但图标仍淡出或不可见,加一行 "fade_fold_buttons": false
  • 某些插件(如旧版 Vue 或 BracketHighlighter)会覆盖该设置,临时禁用插件后验证
  • 注意:这不是快捷键冲突问题,而是 UI 渲染开关被关了

fold_selection 和语法折叠共存时的行为

手动折叠和自动折叠(Ctrl+Shift+[ 或 fold_by_level)互不影响,但展开逻辑有差异:

一流导航
一流导航

一款AI工具,主要用于全能上网导航平台,汇聚多元优质资源与工具,适合需要提升相关任务效率的用户。

下载
  • Ctrl+K, Ctrl+J(unfold_all)只还原语法级折叠,不会展开 fold_selection 创建的区域
  • 必须单独点击 gutter 三角图标,或用 unfold 命令(需手动绑定快捷键)
  • 若同时存在多层折叠,鼠标悬停在手动折叠标记上,显示的行号是原始行号,跳转后光标落在折叠行首,而非你记忆中的某行
  • 查找替换(Ctrl+H)默认不跨 fold_selection 区域匹配,需勾选 Find in folded lines

替代方案:用注释标记实现持久化折叠

如果需要关闭文件后仍保留折叠状态,fold_selection 不适用。此时可借助语言支持的折叠标记,但仅限部分语法:

  • JavaScript/HTML/Python 中插入:<!-- fold --> 和 <!-- endfold -->
  • 保存后 Sublime 会识别为可折叠区域,重启后依然有效
  • JSON、YAML、纯文本等不支持该机制,强行添加注释无效
  • 标记必须独占一行,且不能嵌套;若语法包未定义 fold_comments 规则,该功能直接不可用

真正容易被忽略的是:fold_selection 折叠后,它完全脱离语法作用域体系——这意味着 goto_definition、符号搜索、批量替换等行为都不会自动感知其内部内容,除非你主动展开。它是个干净利落的视觉遮罩,不是语义分组。

相关文章

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

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

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系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

热门下载

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

精品课程

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