【Vim Masterclass 笔记05】第 4 章:Vim 的帮助系统与同步练习(L14+L15+L16)
文章目录
- Section 4:The Vim Help System(Vim 帮助系统)
- S04L14 Getting Help
- 1 打开帮助系统
- 2 退出帮助系统
- 3 查看具体命令的帮助文档
- 4 查看帮助文档中的主题
- 5 帮助文档间的上翻、下翻
- 6 关于 linewise
- 7 查看光标所在术语名词的帮助文档
- 8 关于退出命令的帮助
- 9 帮助窗口与工作窗口的切换
- 10 查看命令帮助页前的自动提示(补全)
- S04L15 Exercise 04 - Getting Help
- 1 训练目标
- 2 操作指令
- 2.1 打开文件 help.txt
- 2.2 打开帮助系统
- 2.3 退出帮助系统
- 2.4 再次打开帮助系统
- 2.4.1 用学过的命令浏览帮助文档
- 2.4.2 练习在帮助文档间跳转
- 2.4.3 练习使用 Ctrl-g 的等效命令
- 2.4.4 回到之前编辑的文件
- 2.5 亲自动手
- 2.6 结束练习
- S04L16 Exercise 04 - Getting Help - Walkthrough
写在前面
本篇为Vim大师课的第 4 章学习笔记,主要介绍 Vim 自带的强大帮助系统。为什么这么好用的文本编辑工具网上的科普文章并不多?因为它的帮助系统已经把 Vim 的方方面面介绍得很透彻了,更何况轻量简洁本就是 Unix 的一贯风格。但作为技术专栏,除了梳理这些知识点,更重要的是帮助自己快速上手 Vim 操作,因此我对每个核心知识点都补充了本地实操截图,并配上了完整翻译后的同步练习环节。希望后来者也可以少走一些弯路,至少不必被课程中的全英文描述吓退。
Section 4:The Vim Help System(Vim 帮助系统)
S04L14 Getting Help
本节介绍 Vim 的帮助系统的用法(演示文件:help.txt)。
1 打开帮助系统
命令模式下::help + Enter
Vim 帮助系统也是一个文本窗口,之前介绍的 HJKL 等命令均有效。
使用 Ctrl + G 可以查看当前帮助文件所在的绝对路径:

2 退出帮助系统
命令模式下::q + Enter(与普通文件的退出一样)
3 查看具体命令的帮助文档
例如命令 dd,命令模式下输入::help dd + Enter 即可:

文档说:Delete [count] lines [into register x] linewise.
方括号内,是选填项,可以暂时忽略,于是变为:Delete lines linewise. 即按行删除(一整行)内容。
register 和 linewise 这里不展开,后续会介绍。
4 查看帮助文档中的主题
除了用 :help <command> 查看具体的命令,还可以在打开的帮助页查看不同的主题,例如上面的 count:

5 帮助文档间的上翻、下翻
返回上一个帮助页:按 Ctrl + O(即 Old,旧的主题)
返回下一个帮助页:按 Ctrl + I
O 和 I 在键位上是挨着的,方便识记。
6 关于 linewise
使用 :help linewise 查看帮助页:

可见 linewise 表示以 行 为单位进行操作,与之对应的是 characterwise,即以 字符 为单位进行操作。
7 查看光标所在术语名词的帮助文档
使用:Ctrl + ](右方括号)

视频中光标停留的术语名词也叫 “主题”(subject)。
8 关于退出命令的帮助
键入::help :q + Enter
注意,这里必须是 :q,因为 q 是另一个命令,:q 才表示退出。

可见,:q 的全称为 :quit,类似的还有 :help,可缩写为 :h。
9 帮助窗口与工作窗口的切换
使用组合键:Ctrl + WW(即按两次 Ctrl-w)
10 查看命令帮助页前的自动提示(补全)
使用组合键:Ctrl + D
例如,输入 :help :q 后,按下 Ctrl + D,将出现下列以 :q 开头的候选命令列表:

此时可以用 Tab 或 Shift + Tab 遍历弹出的候选命令。
若再输入 :qu 并按 Ctrl + D,Vim 将 重新列出 以 :qu 开头的候选命令列表:

视频中的当前候选命令呈高亮显示,是因为配置了一个叫 wildmenu 的选项,实测时本地并未启用,可通过 :set wildmenu 打开,于是候选命令也有了高亮显示:

但该配置关闭电脑后又会还原。关于 Vim 配置如何永久生效,后续会详述,这里略过。
S04L15 Exercise 04 - Getting Help
1 训练目标
熟悉 Vim 帮助系统的用法。1
2 操作指令
2.1 打开文件 help.txt
打开一个本地命令行会话,使用 Vim 打开文件 help.txt(练习文件默认解压到 Downloads 文件夹下):
cd Downloads
cd vimclass
vim help.txt
2.2 打开帮助系统
输入::help + Enter 打开帮助进行浏览。须知帮助文档也是一个普通的文本文件。
2.3 退出帮助系统
使用 :q + Enter
2.4 再次打开帮助系统
换用 :h + Enter 再次打开 Vim 帮助。很多时候,Vim 命令都有缩写形式。这里的 :h 相当于 :help。
2.4.1 用学过的命令浏览帮助文档
前面已经学了一些 Vim 命令。使用帮助系统获取下列命令的帮助文档。仔细阅读文档加深对每一个命令的印象:
:h i:h :wq:h :q:h Ctrl-f:可使用[count]Ctrl-f下翻count页,或[count]Ctrl-b上翻count页:h ^f(注意:快捷键^相当于Ctrl,因此^f与Ctrl-f是同一个意思):h ^b:h w:文档中的<S-Right>表示按住 Shift 的同时再按下右箭头 Right 键。
2.4.2 练习在帮助文档间跳转
键入 :h w + Enter 查看 W 命令的帮助文档。将光标定位到单词 exclusive 上,按 Ctrl + ] 跳转到 exclusive 对应的帮助页;查阅完毕,使用 Ctrl + O 返回上一个帮助页(即 W 命令。这里的 “O” 表示 “Old”,有 “过去的、旧的” 的意思)。
再将光标定位到单词 count 上,按 Ctrl + ] 查看该主题(subject)的帮助文档。阅读完 count 相关帮助后,按 Ctrl + O 返回 上一个帮助主题。
2.4.3 练习使用 Ctrl-g 的等效命令
要查看 Ctrl + G 的帮助文档,输入 :h ^g + Enter。还有和它类似的命令吗?不错,还有 :f 或 :file 命令。输入 :f + Enter 即可查看帮助。留意屏幕下方出现的一行文本。它将显示当面在用的帮助文档的名称。 注意屏幕下方出现的一行文本。 它会显示当前帮助文件的具体路径。
2.4.4 回到之前编辑的文件
按下 Ctrl + WW(即按住 Ctrl 并敲两次 W),此时光标位于位于底部那个窗口,即练习刚开始时打开的 help.txt 文件所在的窗口。可通过 Ctrl + G、或者使用 :f 或 :file 命令进一步确认。
2.5 亲自动手
按下 Ctrl + WW 让光标再次回到 Vim 帮助窗口。回忆几个已经学过的命令,然后通过帮助系统查看其文档。用本节学到的知识尽情探索吧。
2.6 结束练习
完成练习,输入 :q + Enter 退出帮助系统;使用 :q! + Enter 停止文件编辑并退出 Vim。
S04L16 Exercise 04 - Getting Help - Walkthrough
本节为上面同步练习的点评课。没有补充知识点,反复操练即可。
本节练习另附精美排版 PDF 格式,阅读体验更佳,详见:
vimclass/Exercise-04-GettingHelp.pdf↩︎
相关文章:
【Vim Masterclass 笔记05】第 4 章:Vim 的帮助系统与同步练习(L14+L15+L16)
文章目录 Section 4:The Vim Help System(Vim 帮助系统)S04L14 Getting Help1 打开帮助系统2 退出帮助系统3 查看具体命令的帮助文档4 查看帮助文档中的主题5 帮助文档间的上翻、下翻6 关于 linewise7 查看光标所在术语名词的帮助文档8 关于退…...
Multisim更新:振幅调制器+解调器(含仿真程序+文档+原理图+PCB)
前言 继3年前设计的:Multisim:振幅调制器的设计(含仿真程序文档原理图PCB),有读者表示已经不能满足新需求,需要加上新的解调器功能😂😂😂,鸽了很久这里便安排…...
CentOS — 群组管理
文章目录 一、查看群组二、添加群组三、删除群组四、修改群组 Linux 系统中每个用户都属于一个特定的群组。 若不设置用户的群组,默认会创建一个和用户名一样的群组,并将用户分到该群组。 一、查看群组 groups 用户名:查看用户所属群组。 二…...
【pytorch】注意力机制-1
1 注意力提示 1.1 自主性的与非自主性的注意力提示 非自主性提示: 可以简单地使用参数化的全连接层,甚至是非参数化的最大汇聚层或平均汇聚层。 自主性提示 注意力机制与全连接层或汇聚层区别开来。在注意力机制的背景下,自主性提示被称为查…...
html 元素中的data-v-xxxxxx 是什么?为什么有的元素有?有的没有?
data-v-xxxxxx 在 HTML 中,data-v 属性通常与 Vue.js 或其他前端框架一起使用,特别是当这些框架结合 CSS 预处理器(如 Sass、Less)和单文件组件(Single File Components, SFCs)时。data-v 属性的主要目的是…...
第27周:文献阅读及机器学习
目录 摘要 Abstract 一、文献阅读 发现问题 研究方法 CNN-LSTM DT SVR 创新点 案例分析 数据准备 模型性能 预测模型的实现 仿真实验及分析 二、LSTM 1、基本结构 2、具体步骤 3、举例说明 4、原理理解 总结 摘要 本周阅读文献《Short-term water qua…...
回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测
回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测 目录 回归预测 | MATLAB实ELM-Adaboost多输入单输出回归预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 一、极限学习机(ELM) 极限学习机是一种单层前馈神经网络,具有训练速…...
Swift Protocols(协议)、Extensions(扩展)、Error Handling(错误处理)、Generics(泛型)
最近在学习 Swift,总结相关知识 1. Protocols(协议) 1.1 协议的定义和实现 协议(protocol) 是一种定义方法和属性的蓝图,任何类、结构体或枚举都可以遵循协议。遵循协议后,需要实现协议中定义…...
.NET中的强名称和签名机制
.NET中的强名称(Strong Name)和签名机制是.NET Framework引入的一种安全性和版本控制机制。以下是关于.NET中强名称和签名机制的详细解释: 强名称 定义: 强名称是由程序集的标识加上公钥和数字签名组成的。程序集的标识包括简单文…...
使用 NestJS 构建高效且模块化的 Node.js 应用程序,从安装到第一个 API 端点:一步一步指南
一、安装 NestJS 要开始构建一个基于 NestJS 的应用,首先需要安装一系列依赖包。以下是必要的安装命令: npm i --save nestjs/core nestjs/common rxjs reflect-metadata nestjs/platform-express npm install -g ts-node包名介绍nestjs/coreNestJS 框…...
2025年大模型技术发展趋势展望:高速旋转的飞轮
2025年大模型技术发展趋势展望 引言1. 多模态大模型(MMM):从单一模态到高级模态融合2. 轻量化大模型:从大参数模型到小参数模型3. 强推理大模型:从概率生成到逻辑推理4. 移动端/边缘端Agent:从云端到本地5.…...
java中类的加载过程及各个阶段与运行时数据区中堆和方法区存储内容
java中类的加载过程 Java 类的加载是 JVM 将 字节码文件(.class 文件)加载到内存并最终转化为运行时数据的过程。它分为以下 五个主要阶段:加载、验证、准备、解析、初始化,每个阶段都有对应的内存位置存储相关信息。以下是类加载…...
渗透测试--Web基础漏洞利用技巧
渗透测试--Web基础漏洞利用技巧 本文章写了Web基础漏洞中一些不那么常见的利用技巧,而不谈及漏洞的原理以及常见用法。 SQL 俺是SQLmap党,哈哈,所以这块就不多讲了。详情可见文章《渗透测试--SQLmap_渗透测试sqlmap-CSDN博客》 XXE XXE组成…...
SpringBoot下载文件的几种方式
小文件:直接将文件一次性读取到内存中,文件大可能会导致OOM GetMapping("/download1")public void download1(HttpServletResponse response) throws IOException {// 指定要下载的文件File file new File("C:\\Users\\syd\\Desktop\\do…...
教程:从pycharm基于anaconda构建机器学习环境并运行第一个 Python 文件
1. 安装 PyCharm 访问 PyCharm 官方网站:https://www.jetbrains.com/pycharm/。下载社区版(免费)或专业版(收费,提供更多功能)。按照操作系统的安装指导安装 PyCharm。安装后打开 PyCharm,并根…...
我用Ai学Android Jetpack Compose之Button
答案来自 通义千问,代码同样需要到Android Studio里实践,才能学会。完整工程代码见文末。 我要学Button,麻烦介绍一下 当然可以!Button 是 Jetpack Compose 中用于创建可点击按钮的 Composable 函数。它提供了丰富的配置选项来定…...
修改secure-file-priv参数-mysql5.7.26限制不允许导入或导出的解决方法
文章目录 前言secure_file_priv参数说明修改secure_file_priv参数的步骤 前言 本人是在sql注入的文件上传拿web shel 时所用到的写入文件权限遇到文件上传不成功的问题,记住修改后,重启mysql才生效,最后可以查看验证一下。 secure_file_priv…...
C# 设计模式(结构型模式):适配器模式
C# 设计模式(结构型模式):适配器模式 在软件开发中,我们经常会遇到需要将不同接口的组件结合在一起的情况。此时,适配器模式(Adapter Pattern)就派上了用场。它属于结构型设计模式,…...
Spring Cloud微服务多模块架构:父子工程搭建实践
一、前言 在现代微服务架构中,Spring Cloud 提供了一整套工具和技术栈来简化分布式系统的开发。为了更好地组织和管理复杂的微服务项目,使用 Maven 多模块(父子工程) 是一种高效的方法。 父子工程 是 Maven 中的一种项目结构…...
SkinnedMeshRenderer相关知识
SkinnedMeshRenderer和MeshRenderer unity中SkinnedMeshRenderer是CPU去更改顶点位置的。 而当使用MeshRenderer时,可以靠GPU来进行蒙皮(即更改顶点位置)。 SkinnedMeshRenderer是多线程处理的,在小程序游戏中,只支持…...
PEG-Dex-Mal-Fe₃O₄ NPs,聚乙二醇-右旋糖苷-马来酰亚胺修饰四氧化三铁纳米颗粒,定义与特点
PEG-Dex-Mal-Fe₃O₄ NPs,聚乙二醇-右旋糖苷-马来酰亚胺修饰四氧化三铁纳米颗粒,定义与特点PEG-Dex-Mal-Fe₃O₄ NPs是一类以四氧化三铁(Fe₃O₄)纳米颗粒为无机核心,在其表面构建右旋糖苷(Dextran, Dex&am…...
AI算法专家在智能工厂建设中的核心作用
引言:数字化转型中的AI价值 在制造业数字化转型浪潮中,人工智能技术已成为构建智能工厂的核心驱动力。作为AI算法专家,需要具备将复杂业务场景转化为数学模型的能力,通过先进的数据挖掘和机器视觉技术实现生产系统的智能化升级。本文将从技术原理、实践案例和架构设计三个…...
OpenHarmony系统参数实战:从param shell到ArkTS接口,手把手教你调试与避坑
OpenHarmony系统参数实战:从param shell到ArkTS接口,手把手教你调试与避坑 当你第一次拿到OpenHarmony开发板时,系统参数就像隐藏在设备内部的"控制面板"。记得去年我们团队在调试设备USB功能时,花了整整两天才找到pers…...
Kylin-V10 arm 环境下 virt-manager 的安装与配置指南
1. Kylin-V10 arm环境简介与准备工作 Kylin-V10作为国产操作系统的代表,在arm架构设备上表现出色。我最近在飞腾2000芯片的服务器上部署时,发现很多朋友对虚拟化管理工具virt-manager的安装存在困惑。arm架构与传统x86环境最大的区别在于软件包依赖和硬…...
从游戏开发工具集到SideFX Labs:这个免费Houdini插件如何帮你提升3D内容创作效率?
SideFX Labs:从游戏开发工具集到3D创作效率革命 第一次打开Houdini时,我被它强大的节点系统震撼,同时也被复杂的操作流程吓退。直到发现SideFX Labs这个隐藏在Houdini生态中的"效率加速器",我的3D内容创作才真正找到了突…...
Chrome for Testing终极指南:构建稳定自动化测试环境的5步实战方案
Chrome for Testing终极指南:构建稳定自动化测试环境的5步实战方案 【免费下载链接】chrome-for-testing 项目地址: https://gitcode.com/gh_mirrors/ch/chrome-for-testing 在当今快速迭代的Web开发环境中,自动化测试已成为确保产品质量的关键环…...
IndexTTS2终极指南:如何用一句话生成带情绪的AI语音
IndexTTS2终极指南:如何用一句话生成带情绪的AI语音 【免费下载链接】index-tts An Industrial-Level Controllable and Efficient Zero-Shot Text-To-Speech System 项目地址: https://gitcode.com/gh_mirrors/in/index-tts 你是否曾经遇到过这样的场景&…...
微信小程序web-view集成H5视频录制:从需求到填坑的完整实践
1. 银行视频面签需求与技术选型 去年接手了一个银行视频面签项目,客户要求在小程序内实现完整的视频录制功能。具体场景是:用户进入页面后点击开始录制,系统会依次播放预设问题(比如"请问您是李先生吗?"&…...
从AlexNet到ResNet:为什么说2012年的这篇论文是今天所有CV模型的“祖师爷”?
从AlexNet到ResNet:计算机视觉革命的奠基时刻 2012年,当AlexNet以压倒性优势赢得ImageNet竞赛时,很少有人能预料到这篇论文会成为深度学习时代的里程碑。它不仅将传统方法的错误率降低了近一半,更重要的是确立了一系列沿用至今的…...
RK3308实现UAC1与ADB功能共存配置指南
1. RK3308平台UAC1与ADB共存问题解析 第一次在RK3308上折腾UAC1音频功能时,我遇到了一个典型问题:当开启ADB调试功能后,UAC1音频设备就消失了。这个问题困扰了我整整两天,直到发现问题的根源在于Rockchip原厂配置的互斥机制。简单…...
