一篇吃透 Linux 入门核心:man帮助 + Vim全快捷键 + 重定向超详细实战
一篇吃透 Linux 入门核心man帮助 Vim全快捷键 重定向超详细实战一、前言本篇博客整理 CentOS7 系统核心基础知识点包含Linux帮助查询体系、Vim编辑器全功能实操、标准输入输出重定向、管道与Tee命令搭配大量可直接运行实战命令、场景示例适合Linux新手入门、课堂复习、作业总结。二、Linux系统获取帮助的方式Linux 提供多套帮助查询机制适配内置命令、外部命令、配置文件、系统手册、官方文档不同场景。2.1 man 手册系统官方手册2.1.1 man 简介man 是 manual手册的缩写Linux 官方标准帮助文档通过section 章节区分不同类型手册解决「命令和配置文件同名」的查询冲突如 passwd 既是命令也是配置文件。2.1.2 man 章节对照表核心SECTION 章节内容类型1用户命令可执行命令、Shell程序2系统调用内核提供的用户空间接口3库函数程序依赖的系统函数库4特殊文件设备文件、驱动文件5文件格式配置文件规范、结构说明6系统游戏历史保留章节7协议、标准、文件系统惯例8系统管理特权命令运维管理员使用9Linux 内核 API内核调用接口2.1.3 man基础命令使用# 1. 临时切换英文手册解决中文乱码/翻译不全[fangbingcentos7 ~18:19:22]$LANGen_US.utf8# 2. man 命令帮助语法[fangbingcentos7 ~18:19:11]$man--helpUsage:man[OPTION...][SECTION]PAGE... -C, --config-fileFILE use this user configurationfile-d,--debugemit debugging messages -D,--defaultreset all options to their default values --warnings[WARNINGS]enablewarnings......# 3. 查询 passwd 命令用法章节1[fangbingcentos7 ~18:24:43]$man1passwd# 4. 查询 /etc/passwd 配置文件格式章节5[fangbingcentos7 ~18:26:22]$man5passwd2.1.4 man 页面交互快捷键less 通用命令结果PageDown或者空格键向前向下滚动一个屏幕PageUp向后向上滚动一个屏幕向下箭头向前向下滚动一行向上箭头向后向上滚动一行d向前向下滚动半个屏幕u向后向上滚动半个屏幕/string在man page中向前向下搜索stringn在man page中重复之前的向前向下搜索N在man page中重复之前的向后向上搜索g转到man page的第一行。G转到man page的最后一行。q退出man 并返回到shell命令提示符2.1.5 man 数据库更新与关键字搜索# 使用root 用户更新 man 手册索引库[fangbingcentos7 ~18:31:31]$su-lroot Password: Last login: Thu Jul1613:54:21 CST2026on pts/1[rootcentos7 ~18:31:41]# mandb正在删除 /usr/share/man 里的旧数据库条目...# 按关键字搜索相关手册模糊查询[fangbingcentos7 ~18:33:36]$man-kpasswdchgpasswd(8)- update group passwordsinbatch mode chpasswd(8)- update passwordsinbatch mode fgetpwent_r(3)- getpasswdfileentry reentrantly getpwent_r(3)- getpasswdfileentry reentrantly gpasswd(1)- administer /etc/group and /etc/gshadow grub2-mkpasswd-pbkdf2(1)- Generate a PBKDF2 password hash. lpasswd(1)- Change group or user password lppasswd(1)- add, change, or delete digest passwords. pam_localuser(8)- requireusersto be listedin/etc/passwdpasswd(1)- update users authentication tokens sslpasswd (1ssl) - compute password hashes passwd (5) - password file passwd2des (3) - RFS password encryption pwhistory_helper (8) - Helper binary that transfers password hashes from passwd or s... saslpasswd2 (8) - set a users sasl password smbpasswd(5)- The Samba encrypted passwordfilevncpasswd(1)- change the VNC password# 按关键字搜索相关手册模糊查询同时过滤需要的数据[fangbingcentos7 ~18:34:25]$man-kext4|grepresizer resize2fs(8)- ext2/ext3/ext4filesystem resizer2.2 help 命令Shell 内置命令专属适用场景Shell 自带内置命令history、cd、exit 等man 无法精准查询必须使用 help。# 查询历史命令帮助[fangbingcentos7 ~18:39:28]$helphistoryhistory:history[-c][-d offset][n]orhistory-anrw[filename]orhistory-psarg[arg...]2.3 --help 通用帮助所有外部命令通用输出精简版参数说明查询速度最快。[fangbingcentos7 ~18:40:05]$ls--helpUsage:ls[OPTION]...[FILE]...注意history、cd内置 →只能 helpls、cat、find外部 →man / --helpvim、dhcp第三方 →需要 yum install2.4 /usr/share/doc 官方文档# 查看 dhcp 服务官方配置示例[fangbingcentos7 ~18:43:40]$cat/usr/share/doc/dhcp-4.2.5/dhcpd.conf.example2.5 which / whereis 路径查询命令2.5.1 which查询命令别名、程序执行路径仅可执行程序。# 查看vi命令代表什么以及路径[fangbingcentos7 ~18:47:30]$whichvialiasvivim/usr/bin/vim2.5.2 whereis查询命令程序文件、手册文件、源码文件全路径。# whereis 查看关键字对应的程序位置帮助文档源码passw:[fangbingcentos7 ~18:51:44]$whereispasswdpasswd: /usr/bin/passwd /etc/passwd /usr/share/man/man1/passwd.1.gz /usr/share/man/man5/passwd.5.gz三、Vim 编辑器实操详解3.1 Vim 版本介绍vim-minimal极简版本仅保留 vi 基础功能无语法高亮vim-enhanced增强版支持语法高亮、拼写检查课堂主流使用vim-X11图形界面版 gvim带菜单栏可视化操作3.2 Vim 四大核心模式命令模式默认打开文件默认进入所有快捷键跳转、复制、删除操作均在此模式插入模式编辑模式按 i/I/a/A/o/O 进入可输入内容ESC 返回命令模式底行模式扩展命令命令模式按:进入用于保存、退出、批量修改、全局替换可视模式v字符选中、V行选中、Ctrlv矩形块选中用于批量复制删除3.3 命令模式核心快捷键3.3.1 光标跳转w/e/b向后单词开头/单词末尾/向前单词0/^快速跳转到行首$跳转到行尾gg文件第一行G文件最后一行(/)上一句/下一句{/}上一段/下一段3.3.2 进入插入模式i光标当前位置插入I行首插入a光标后追加A行尾追加o下方新建空行插入O上方新建空行插入3.3.3 复制粘贴yy复制整行y数字y复制指定行数y2y 复制2行p光标后粘贴P光标前粘贴3.3.4 删除操作x删除当前字符X删除前一个字符dw删除单个单词d数字w删除多个单词D/d$删除当前光标到行尾dG删除当前行到文件末尾3.3.5 撤销与重做u撤销上一步操作U撤销整行修改Ctrlr反向撤销重做3.3.6 替换修改s删除当前字符并进入编辑S清空整行进入编辑cw删除单词并编辑C删除到行尾并编辑r单次字符替换R持续替换模式ESC退出3.4 底行模式常用命令# 基础配置:set number# 显示行号:set showcmd# 右下角显示操作指令# 行操作:11,28d# 删除11-28行:%s/old/new/g# 全局替换所有匹配内容# 文件操作:w# 保存不退出:wq / ZZ# 保存并退出:q!# 强制退出放弃修改3.5 实战DHCP 配置文件定制# 1. 配置阿里YUM源[fangbingcentos7 ~18:54:35]$su-lroot Password: Last login: Thu Jul1618:31:41 CST2026on pts/1[rootcentos7 ~19:02:42]# curl -s -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo[rootcentos7 ~19:02:56]# curl -s -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo# 2. 安装DHCP服务[rootcentos7 ~19:03:05]# yum install -y dhcp# 3. 拷贝官方示例配置文件[rootcentos7 ~19:03:18]# cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example dhcpd.conf[rootcentos7 ~19:05:09]# lsdhcpd.conf 公共 模板 视频 图片 文档 下载 音乐 桌面# 4. Vim编辑配置文件[rootcentos7 ~19:05:12]# vim dhcpd.conf编辑操作流程:set number showcmd开启行号、指令提示gg跳转首行d46d删除前46行:11,28d删除指定区间行/You搜索关键词dG删除剩余内容:%s/10.5.5/10.1.8/g全局替换网段逐行修改参数网关、DNS、广播地址、租期ZZ保存退出3.6 Vim 个性化配置全局配置所有用户/etc/vimrc个人配置当前用户~/.vimrc# 编辑个人配置文件[fangbingcentos7 ~19:12:46]$vim~/.vimrc配置如下setnumber# 显示行号setshowcmd# 显示操作命令setaits2# 自动缩进Tab占2个空格setcursorline# 高亮当前行setcursorcolumn# 高亮当前列四、Linux 输入输出重定向4.1 三大标准流核心概念Linux 一切皆文件进程默认绑定3个标准文件描述符名称文件编号默认设备作用标准输入 stdin0键盘进程读取外部数据标准输出 stdout1终端屏幕进程输出正常结果标准错误 stderr2终端屏幕进程输出错误信息重定向作用改变默认输入输出位置将结果输出到文件、将文件内容作为程序输入。4.2 标准输出重定向4.2.1 覆盖输出 / 1# 正确结果写入文件错误依旧屏幕输出[fangbingcentos7 ~19:13:03]$find/etc-namepasswd1passwd.list find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied......后面省略[fangbingcentos7 ~19:13:25]$catpasswd.list /etc/pam.d/passwd /etc/passwd# 简写形式1可省略[fangbingcentos7 ~19:19:05]$find/etc-namepasswdpasswd.list find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied......后面省略[fangbingcentos7 ~19:19:22]$catpasswd.list /etc/pam.d/passwd /etc/passwd4.2.2 追加输出 / 1[fangbingcentos7 ~19:21:33]$find/etc-namepasswdpasswd.list find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied......后面省略[fangbingcentos7 ~19:23:20]$catpasswd.list /etc/pam.d/passwd /etc/passwd /etc/pam.d/passwd /etc/passwd4.2.3 错误重定向 2 / 2# 错误信息单独写入文件正确结果屏幕输出[fangbingcentos7 ~19:23:37]$find/etc-namepasswd2passwd.err /etc/pam.d/passwd /etc/passwd[fangbingcentos7 ~19:24:57]$catpasswd.err find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied find: ‘/etc/pki/rsyslog’: Permission denied......后面省略# 错误信息追加写入正确结果屏幕输出[fangbingcentos7 ~19:25:05]$find/etc-namepasswd2passwd.err /etc/pam.d/passwd /etc/passwd[fangbingcentos7 ~19:25:39]$catpasswd.err find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied find: ‘/etc/pki/rsyslog’: Permission denied......后面省略 find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied find: ‘/etc/pki/rsyslog’: Permission denied......后面省略4.2.4 混合重定向 / # 正确错误信息统一覆盖写入[fangbingcentos7 ~19:25:43]$find/etc-namepasswdpasswd.all[fangbingcentos7 ~19:29:21]$catpasswd.all find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied find: ‘/etc/pki/rsyslog’: Permission denied /etc/pam.d/passwd......后面省略# 正确错误信息统一追加写入[fangbingcentos7 ~19:29:28]$find/etc-namepasswdpasswd.all[fangbingcentos7 ~19:30:30]$catpasswd.all find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied find: ‘/etc/pki/rsyslog’: Permission denied /etc/pam.d/passwd......后面省略 find: ‘/etc/grub.d’: Permission denied find: ‘/etc/pki/CA/private’: Permission denied find: ‘/etc/pki/rsyslog’: Permission denied /etc/pam.d/passwd......后面省略4.2.5 快速清空/创建文件# 快速清空文件[fangbingcentos7 ~19:32:28]$passwd.all[fangbingcentos7 ~19:32:39]$catpasswd.all[fangbingcentos7 ~19:32:45]$# 空追加文件不存在则创建存在则无操作[fangbingcentos7 ~19:32:45]$passwd.all[fangbingcentos7 ~19:33:41]$catpasswd.all[fangbingcentos7 ~19:33:44]$4.3 管道符作用将前一个命令的标准输出作为后一个命令的标准输入实现命令串联。补充 |同时传递标准输出标准错误。# 示例1搜索ext4扩容命令man-kext4|grepresizer[fangbingcentos7 ~19:37:14]$man-kext4|grepresizer resize2fs(8)- ext2/ext3/ext4filesystem resizer# 示例2提取网卡IP[fangbingcentos7 ~19:41:38]$ipaddr|grepens33$|awk{print $2}|awk-F/{print $1}10.1.8.10# 示例3匹配错误输出[fangbingcentos7 ~19:37:40]$ls-lfile-{1..6}|grepfile-6 ls: cannot access file-6: No suchfileor directory4.4 tee 命令屏幕输出文件保存核心作用一份输出双向复用既打印到终端又保存到文件。# 覆盖写入文件[fangbingcentos7 ~19:42:07]$find/etc-namepasswd2/dev/null|teepasswd.list /etc/pam.d/passwd /etc/passwd[fangbingcentos7 ~19:43:17]$catpasswd.list /etc/pam.d/passwd /etc/passwd# 追加写入文件-a 参数[fangbingcentos7 ~19:43:31]$find/etc-namepasswd2/dev/null|tee-apasswd.list /etc/pam.d/passwd /etc/passwd[fangbingcentos7 ~19:44:08]$catpasswd.list /etc/pam.d/passwd /etc/passwd /etc/pam.d/passwd /etc/passwd# 多级管道继续处理[fangbingcentos7 ~19:44:12]$man-kpasswd|teepasswd.man|greppasswdchgpasswd(8)- update group passwordsinbatch mode chpasswd(8)- update passwordsinbatch mode fgetpwent_r(3)- getpasswdfileentry reentrantly getpwent_r(3)- getpasswdfileentry reentrantly......(后面省略)4.5 标准输入重定向4.5.1 基础输入重定向 # 将文件内容作为cat的输入[fangbingcentos7 ~19:47:01]$cat/etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain64.5.2 多行输入重定向 EOF快速批量写入多行内容到文件是Shell脚本高频用法。# 多行内容写入文件[fangbingcentos7 ~19:48:36]$cattest.txtEOFhello wordhello pythenhello linuxEOF[fangbingcentos7 ~19:49:32]$cattest.txt hello word hello pythen hello linux4.5.3 Here String 短字符输入 # 直接传递单行字符串作为输入[fangbingcentos7 ~19:50:24]$cathello wordhello word五、核心思考题总结输出重定向改变程序默认输出位置区分覆盖/追加、正确/错误/混合输出可实现日志分离、文件清空、信息持久化管道符命令流水线串联多个处理命令无需中间文件高效过滤处理数据tee命令解决「想看输出又想保存日志」的场景兼顾终端预览和文件存储输入重定向将文件/字符串作为程序输入替代手动键盘输入实现自动化脚本执行

相关新闻

Vben精讲:13-Vben页面国际化设置

Vben精讲:13-Vben页面国际化设置

文章目录参考资料插件配置默认语言动态切换语言新增翻译文本使用翻译文本新增语言包界面切换语言功能远程加载语言包第三方语言包移除国际化参考资料 https://doc.vben.pro/ https://doc.vben.pro/guide/in-depth/locale.html 插件 i18n Ally 配置默认语言 apps\web-antd\…

2026/9/29 3:50:49 阅读更多 →
从零理解Agent开发:为何不应直接从LangChain开始?

从零理解Agent开发:为何不应直接从LangChain开始?

1. 为什么说学习Agent的顺序被搞反了? 最近在AI开发者社区里,一个观点正在被越来越多人认同:学习Agent开发时,直接上手LangChain可能是个错误的选择。这就像学编程时一上来就学框架而不懂基础语法,或者学做菜先研究高级…

2026/10/6 16:15:20 阅读更多 →
3分钟终极指南:Windows上苹果设备驱动一键安装解决方案

3分钟终极指南:Windows上苹果设备驱动一键安装解决方案

3分钟终极指南:Windows上苹果设备驱动一键安装解决方案 【免费下载链接】Apple-Mobile-Drivers-Installer Powershell script to easily install Apple USB and Mobile Device Ethernet (USB Tethering) drivers on Windows! 项目地址: https://gitcode.com/gh_mi…

2026/10/12 18:13:29 阅读更多 →

最新新闻

电商AI视觉生产流水线:12个可编排图像生成Skill开源实践

电商AI视觉生产流水线:12个可编排图像生成Skill开源实践

1. 这不是又一个“AI画图工具”,而是电商视觉生产流水线的底层能力拆解你有没有遇到过这样的场景:运营同事凌晨两点发来消息,“明天大促主图要换,三套风格,带卖点文案,尺寸必须是800800和1200628双规格&…

2026/10/14 5:25:13 阅读更多 →
JavaScript正则方法全解析:从exec到replaceAll的实战指南

JavaScript正则方法全解析:从exec到replaceAll的实战指南

写正则的人最怕的不是正则写不出来,而是同一个需求,每个方法看起来都“差不多能用”,但真上线之后,Bug一个接一个。我见过好几次这样的情况:有人用match想拿捕获组,结果返回了一堆字符串;有人在…

2026/10/14 5:25:13 阅读更多 →
Apache Mesos 0.28.0 特性深度解析:net_cls 网络隔离、统一容器化与 v1 Executor HTTP API

Apache Mesos 0.28.0 特性深度解析:net_cls 网络隔离、统一容器化与 v1 Executor HTTP API

云原生 【免费下载链接】mesos Apache Mesos 项目地址: https://gitcode.com/gh_mirrors/mesos2/mesos 点击查看 免费下载 Apache Mesos 0.28.0 是 Mesos 发展历程中承上启下的一个重要版本:它在 Linux cgroups 网络隔离、标量资源精度、动态预留资源元…

2026/10/14 5:25:13 阅读更多 →
人体供暖系统:科学激活产热机制抵御寒冬

人体供暖系统:科学激活产热机制抵御寒冬

1. 寒冬里的主动发热之道最近几年冬天越来越难熬,特别是南方没有集中供暖的地区。作为一个在杭州生活了十年的北方人,我深刻体会到南方湿冷的威力——那种冷是往骨头缝里钻的。开空调太干燥,电热毯又只能局部取暖,于是我开始研究如…

2026/10/14 5:25:13 阅读更多 →
UE5 C++单播代理实战:DECLARE_DELEGATE与TDelegate全面解析

UE5 C++单播代理实战:DECLARE_DELEGATE与TDelegate全面解析

做游戏逻辑的时候,最常干的一件事就是把“某个行为”传递给“另一个系统”。按键按下的那一刻要通知谁,异步加载完关卡要提醒谁,血量掉到某个阈值要唤起谁——这些在UE5 C里最直接的落地方案就是代理(Delegate)。其中单…

2026/10/14 5:25:13 阅读更多 →
VC++ FTP服务器与客户端完整源码解析:从协议到断点续传实战

VC++ FTP服务器与客户端完整源码解析:从协议到断点续传实战

简介:一套面向VC/MFC与网络通信初学者的FTP客户端与服务器完整示例工程,基于VC6.0调试通过。工程同时提供控制台版本的FTP服务器和MFC界面客户端,源码头文件结构清晰,关键功能均以类接口形式开放,便于在此基础上扩展成…

2026/10/14 5:24:12 阅读更多 →

日新闻

AnyPS5通用适配层设计:兼容性与性能的工程取舍

AnyPS5通用适配层设计:兼容性与性能的工程取舍

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里冒出来的第一个念头是:这大概率是一个围绕"跨平台运行"或者"通用适配"做文章的项目。名字里的"Any"…

2026/10/14 0:00:41 阅读更多 →
Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

Flutter跨平台开发实战:二手交易应用与HarmonyOS适配

1. 项目概述:Flutter跨平台二手交易应用开发作为一名长期从事移动应用开发的工程师,我最近完成了一个基于Flutter框架的二手物品交易平台项目。这个项目最吸引我的地方在于它完美结合了Flutter的跨平台优势与HarmonyOS的生态特性,实现了"…

2026/10/14 0:00:41 阅读更多 →
DFS算法解决飞机降落调度问题实战

DFS算法解决飞机降落调度问题实战

1. 项目背景与核心思路飞机降落问题是一个经典的调度优化场景,也是算法竞赛和面试中的高频题目。这个题目要求我们合理安排多架飞机的降落顺序和时间,确保所有飞机都能安全着陆而不发生冲突。在实际航空管制中,这类问题直接关系到飞行安全和机…

2026/10/14 0:00:41 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/14 3:30:28 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/13 16:22:04 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/14 3:29:58 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 22:01:27 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/13 14:57:39 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/12 18:11:17 阅读更多 →