【Vim Masterclass 笔记05】第 4 章:Vim 的帮助系统与同步练习

文章目录

  • Section 4:The Vim Help System(Vim 帮助系统)
  • S04L14 Getting Help
    • 1 打开帮助系统
    • 2 退出帮助系统
    • 3 查看具体命令的帮助文档
    • 4 查看帮助文档中的主题
    • 5 帮助文档间的上翻、下翻
    • 6 关于 linewise
    • 7 查看光标所在术语名词的帮助文档
    • 8 关于退出命令的帮助
    • 9 帮助窗口与工作窗口的切换
    • 10 查看命令帮助页前的自动提示(补全)
  • L15 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 可以查看当前帮助文件所在的绝对路径:

img1

2 退出帮助系统

命令模式下::q + Enter(与普通文件的退出一样)

3 查看具体命令的帮助文档

例如命令 dd,命令模式下输入::help dd + Enter 即可:

img2

文档说:Delete [count] lines [into register x] linewise.

方括号内,是选填项,可以暂时忽略,于是变为:Delete lines linewise. 即按行删除(一整行)内容。

registerlinewise 这里不展开,后续会介绍。

4 查看帮助文档中的主题

除了用 :help <command> 查看具体的命令,还可以在打开的帮助页查看不同的主题,例如上面的 count

img3

5 帮助文档间的上翻、下翻

返回上一个帮助页:按 Ctrl + O(即 Old,旧的主题)

返回下一个帮助页:按 Ctrl + I

OI 在键位上是挨着的,方便识记。

6 关于 linewise

使用 :help linewise 查看帮助页:

img4

可见 linewise 表示以 为单位进行操作,与之对应的是 characterwise,即以 字符 为单位进行操作。

7 查看光标所在术语名词的帮助文档

使用:Ctrl + ](右方括号)

img5

视频中光标停留的术语名词也叫 “主题”(subject)。

8 关于退出命令的帮助

键入::help :q + Enter

注意,这里必须是 :q,因为 q 是另一个命令,:q 才表示退出。

img6

可见,:q 的全称为 :quit,类似的还有 :help,可缩写为 :h

9 帮助窗口与工作窗口的切换

使用组合键:Ctrl + WW(即按两次 Ctrl-w

10 查看命令帮助页前的自动提示(补全)

使用组合键:Ctrl + D

例如,输入 :help :q 后,按下 Ctrl + D,将出现下列以 :q 开头的候选命令列表:

img7

此时可以用 TabShift + Tab 遍历弹出的候选命令。

若再输入 :qu 并按 Ctrl + DVim重新列出:qu 开头的候选命令列表:

img8

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

img9

但该配置关闭电脑后又会还原。关于 Vim 配置如何永久生效,后续会详述,这里略过。


L15 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,因此 ^fCtrl-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

本节为上面同步练习的点评课。没有补充知识点,反复操练即可。


  1. 本节练习另附精美排版 PDF 格式,阅读体验更佳,详见:vimclass/Exercise-04-GettingHelp.pdf ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/501125.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java Redisson 实现限流每秒/分钟/小时限制N个

1.引入maven包: <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-redis</artifactId></dependency><dependency><groupId>org.redisson</groupId><artifactId>red…

C# 标准数字格式字符串

总目录 前言 当前文章为 C# 中的格式设置(格式化字符串) 大全 中的一个小章节。 一、概述 1. 基本信息 标准数字格式字符串用于格式化通用数值类型。标准数字格式字符串采用 [format specifier][precision specifier] 的形式 format specifier 格式说明符&#xff0c;负责指…

网络分析工具-tcpdump

文章目录 前言一、tcpdump基础官网链接命令选项详解常规过滤规则tcpdump输出 一、tcpdump实践HTTP协议ICMP状态抓包 前言 当遇到网络疑难问题的时候&#xff0c;抓包是最基本的技能&#xff0c;通过抓包才能看到网络底层的问题 一、tcpdump基础 tcpdump是一个常用的网络分析工…

【微软,模型规模】模型参数规模泄露:理解大型语言模型的参数量级

模型参数规模泄露&#xff1a;理解大型语言模型的参数量级 关键词&#xff1a; #大型语言模型 Large Language Model #参数规模 Parameter Scale #GPT-4o #GPT-4o-mini #Claude 3.5 Sonnet 具体实例与推演 近日&#xff0c;微软在一篇医学相关论文中意外泄露了OpenAI及Claud…

springboot集成qq邮箱服务

springboot集成qq邮箱服务 1.获取QQ邮箱授权码 1.1 登录QQ邮箱 1.2 开启SMTP服务 找到下图中的SMTP服务区域&#xff0c;如果当前账号未开启的话自己手动开启。 1.3 获取授权码 进入上图中的【管理服务】后&#xff1a;在【安全设置中生成授权码】,也可以直接点击【继续生成…

Windows系统提示ffmpeg.dll丢失怎么解决?

一、了解ffmpeg.dll文件 ffmpeg.dll是FFmpeg项目的一个动态链接库文件&#xff0c;FFmpeg是一个开源的多媒体处理框架&#xff0c;能够解码、编码、转码、混流、过滤和播放几乎所有已知格式的音频和视频文件。当Windows系统提示ffmpeg.dll丢失时&#xff0c;通常意味着某个需要…

直观解读 JuiceFS 的数据和元数据设计(一)

大家读完觉得有意义和帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 1 JuiceFS 高层架构与组件2 搭建极简 JuiceFS 集群 2.1 搭建元数据集群2.2 搭建对象存储&#xff08;MinIO&#xff09; 2.2.1 启动 MinIO server2.2.2 创建 bucket2.3 下载 juicefs 客户端2.4 创…

分布式微服务项目___某污水处理项目

一.分布式微服务项目___污水处理项目 项目地址:https://gitee.com/yanyigege/collaborative-water-springboot.git ​ 1.项目背景 总公司在全国各地有处理污水的项目部,各项目部处理自己的污水,总部需要监控各地分项目部每天处理污水的原料用量,掌握各分部的污水处理情况 ​…

鸿蒙HarmonyOS开发:拨打电话、短信服务、网络搜索、蜂窝数据、SIM卡管理、observer订阅管理

文章目录 一、call模块&#xff08;拨打电话&#xff09;1、使用makeCall拨打电话2、获取当前通话状态3、判断是否存在通话4、检查当前设备是否具备语音通话能力 二、sms模块&#xff08;短信服务&#xff09;1、创建短信2、发送短信 三、radio模块&#xff08;网络搜索&#x…

TVS二极管选型【EMC】

TVS器件并联在电路中&#xff0c;当电路正常工作时&#xff0c;他处于截止状态&#xff08;高阻态&#xff09;&#xff0c;不影响线路正常工作&#xff0c;当线路处于异常过压并达到其击穿电压时&#xff0c;他迅速由高阻态变为低阻态&#xff0c;给瞬间电流提供一个低阻抗导通…

sqlalchemy-access库操作MS Access

因目前项目中数据处理的量稍大&#xff0c;为了方便和业务进行交互&#xff0c;对数据的加工和处理放到微软桌面数据库MS Access中。然后有些地方通过 Python 来操作 MS Access 数据库&#xff0c;用到 sqlalchemy-access库。本文对操作的要点做简单的描述。 之前写过一篇 Pyt…

UnityRenderStreaming使用记录(三)

测试UnityRenderStreaming在Ubuntu24.04.1LTS上的表现 先放上运行图操作系统 Ubuntu24.04.1LTSUnity测试工程环境相关修改遇到的问题 先放上运行图 操作系统 Ubuntu24.04.1LTS 系统下载地址 https://cn.ubuntu.com/download/desktop安装UnityHub https://blog.csdn.net/AWNUXC…

==和===的区别,被坑的一天

在 JavaScript 中&#xff0c; 和 都用于比较两个值&#xff0c;但它们有一个重要的区别&#xff1a; 1. (宽松相等运算符) 进行比较时&#xff0c;会 自动类型转换&#xff08;也叫做强制类型转换&#xff09;&#xff0c;即如果比较的两个值的类型不同&#xff0c;JavaScr…

Git的使用流程(详细教程)

目录 01.Git是什么&#xff1f; 1.1 Git简介 1.2 SVN与Git的最主要的区别 1.3 GIt主要特点 02.Git是干什么的&#xff1f; 2.1.Git概念汇总 2.2 工作区/暂存区/仓库 2.3 Git使用流程 03.Git的安装配置 3.1 Git的配置文件 3.2 配置-初始化用户 3.3 Git可视化…

使用Docker部署最新版JupyterHub

拉取镜像 docker pull jupyterhub/jupyterhub:latest启动镜像 docker run -d -p 8000:8000 --name jupyterhub jupyterhub/jupyterhub:latest jupyterhub进入容器 docker exec -it jupyterhub bash生成jupyterhub的配置文件 jupyterhub --generate-config# 有需要可以安装中…

liunx下载gitlab

1.地址&#xff1a; https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/ 安装 postfix 并启动 yum install postfix systemctl start postfix systemctl enable postfix ssh服务启动 systemctl enable sshd systemctl start sshd开放 ssh 以及 http 服务&#xff0c…

【AI大模型】深入GPT-2模型细节:揭秘其卓越性能的秘密

目录 &#x1f354; GPT2的架构 &#x1f354; GPT2模型的细节 2.1 模型过程 2.2 GPT2工作细节探究 &#x1f354; 小结 学习目标 掌握GPT2的架构掌握GPT2的训练任务和模型细节 &#x1f354; GPT2的架构 从模型架构上看, GPT2并没有特别新颖的架构, 它和只带有解码器模块…

oceanbase集群访问异常问题处理

1.报错现象 2.问题排查 检查obproxy状态发现为不可用状态 重启obproxy 依次重启Obproxy集群 观察任务状态 重启完成 Obproxy状态正常 3.验证登录 登录成功

Echarts+vue电商平台数据可视化——webSocket改造项目

websocket的基本使用&#xff0c;用于测试前端能否正常获取到后台数据 后台代码编写&#xff1a; const path require("path"); const fileUtils require("../utils/file_utils"); const WebSocket require("ws"); // 创建WebSocket服务端的…

【数据结构】双向循环链表的使用

双向循环链表的使用 1.双向循环链表节点设计2.初始化双向循环链表-->定义结构体变量 创建头节点&#xff08;1&#xff09;示例代码&#xff1a;&#xff08;2&#xff09;图示 3.双向循环链表节点头插&#xff08;1&#xff09;示例代码&#xff1a;&#xff08;2&#xff…