【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 可以查看当前帮助文件所在的绝对路径:

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 配置如何永久生效,后续会详述,这里略过。


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,因此 ^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.mzph.cn/bicheng/66392.shtml

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

相关文章

Zookeeper是如何解决脑裂问题的?

大家好&#xff0c;我是锋哥。今天分享关于【Zookeeper是如何解决脑裂问题的?】面试题。希望对大家有帮助&#xff1b; Zookeeper是如何解决脑裂问题的? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Zookeeper 通过一系列的机制来防止和解决脑裂&#xff08;sp…

【C++】const关键字_运算符重载_继承

目录 Const关键字 常量 常量指针 参数传递 返回值 成员函数 const作用域 运算符重载 继承 继承同名静态成员函数 构造和析构的调用顺序 多重继承 菱形继承&#xff08;二义性&#xff09; 虚继承的工作原理 友元 常&#xff08;成员&#xff09;函数 Const关键字…

QT-窗口嵌入外部exe

窗口类&#xff1a; #pragma once #include <QApplication> #include <QWidget> #include <QVBoxLayout> #include <QProcess> #include <QTimer> #include <QDebug> #include <Windows.h> #include <QWindow> #include <…

Java(day4)

二维数组 静态初始化 动态初始化 练习 public class test1 {public static void main(String[]args){int arr[][]{{22,66,44},{77,33,88},{25,45,65},{11,66,99}};int sum0;for(int i0;i<arr.length;i){int a0;for(int j0;j<arr[i].length;j){sumarr[i][j];aarr[i][j];…

「Mac畅玩鸿蒙与硬件52」UI互动应用篇29 - 模拟火车票查询系统

本篇教程将实现一个模拟火车票查询系统&#xff0c;通过输入条件筛选车次信息&#xff0c;并展示动态筛选结果&#xff0c;学习事件处理、状态管理和界面展示的综合开发技巧。 关键词 条件筛选动态数据展示状态管理UI交互查询系统 一、功能说明 模拟火车票查询系统包含以下功…

Git 仓库清理方法

方法一&#xff1a;删除 Git 仓库 1. 删除 .git 文件夹 # Linux/Mac rm -rf .git# Windows rd /s /q .git2. 删除整个项目 直接删除项目文件夹&#xff0c;然后重建一个新的。 注意&#xff1a;删除后&#xff0c;使用 git init 重新初始化一个干净的仓库。 方法二&#x…

粒子的动力学和约束

本文先介绍单粒子的力学(mechanics of a particle),然后再介绍粒子系的力学(mechanics of particle system),最后介绍约束(constraints)。 1. 单粒子的动力学 从原点出发有一个失径,记为 r \bm{r} r,速度矢量记为 v \bm{v} v,则: v = d r d t ( 1.1 ) \bm{v} = \frac{…

Cherno C++学习笔记 P50 C++当中的动态库

在上一篇文章当中我们学习了C当中是如何使用静态库的&#xff0c;这一篇我们会讲一下如何使用动态库&#xff0c;并同样用GLFW这个已有的库来举例子。 有了静态库的经验&#xff0c;其实动态库就好理解和使用多了。这两者的区别是&#xff0c;静态链接发生在编译的时候&#x…

基于GAN和RL的思想来训练对话生成

Paper https://arxiv.org/pdf/1701.06547.pdf 基于GAN和RL的思想来训练对话生成 Implementation https://github.com/jiweil/Neural-Dialogue-Generation/tree/master/Adversarial

Linux-Ubuntu之裸机驱动最后一弹PWM控制显示亮度

Linux-Ubuntu之裸机驱动最后一弹PWM控制显示亮度 一&#xff0c; PWM实现原理二&#xff0c;软件实现三&#xff0c;正点原子裸机开发总结 一&#xff0c; PWM实现原理 PWM和学习51时候基本上一致&#xff0c;控制频率&#xff08;周期&#xff09;和占空比&#xff0c;51实验…

1.Python浅过(语法基础)

1.简介 Python是一种面向对象的解释型高级编程语言&#xff0c;是强类型的动态脚本语言。 解释型语言跨平台性比编译型语言&#xff08;如c语言&#xff09;好。 print("hello world")2.Bug,Debug 多看&#xff0c;多思考&#xff0c;多尝试、查资料、记录 3.prin…

C 语言函数指针 (Pointers to Functions, Function Pointers)

C 语言函数指针 {Pointers to Functions, Function Pointers} 1. Pointers to Functions (函数指针)2. Function Pointers (函数指针)2.1. Declaring Function Pointers2.2. Assigning Function Pointers2.3. Calling Function Pointers 3. Jump Tables (转移表)References 1. …

C++泛型编程:函数模版定义、函数模版调用,与普通函数调用区别

泛型编程&#xff1a;这个是一种编程范式&#xff0c;他的目的是编写适合多种数据类型的代码。 函数模版&#xff1a; template<typename t> 函数的定义 我们来结合代码理解一下内容&#xff0c;首先定义好函数&#xff0c;然后我们通过方式来调用下&#xff0c;有两…

Flutter:邀请海报,Widget转图片,保存相册

记录下&#xff0c;把页面红色区域内的内容&#xff0c;转成图片后保存到相册的功能 依赖 # 生成二维码 qr_flutter: ^4.1.0 # 保存图片 image_gallery_saver_plus: ^3.0.5view import package:demo/common/index.dart; import package:ducafe_ui_core/ducafe_ui_core.dart; i…

laravel 批量更新:‌INSERT ... ON DUPLICATE KEY UPDATE

在SQL批量更新时可通过INSERT ... ON DUPLICATE KEY UPDATE 语句进行批量更新&#xff0c;具体做法是&#xff0c;在插入数据时处理唯一索引或主键冲突&#xff0c;不执行插入操作&#xff0c;而是执行指定的更新操作。 INSERT INTO table_name(column1, column2, ...) VALUES…

JVM实战—12.OOM的定位和解决

大纲 1.如何对系统的OOM异常进行监控和报警 2.如何在JVM内存溢出时自动dump内存快照 3.Metaspace区域内存溢出时应如何解决(OutOfMemoryError: Metaspace) 4.JVM栈内存溢出时应如何解决(StackOverflowError) 5.JVM堆内存溢出时应该如何解决(OutOfMemoryError: Java heap s…

防止密码爆破debian系统

防止密码爆破 可以通过 fail2ban 工具来实现当 SSH 登录密码错误 3 次后&#xff0c;禁止该 IP 5 分钟内重新登录。以下是具体步骤&#xff1a; 注意此脚本针对ssh是22端口的有效 wget https://s.pscc.js.cn:8888/baopo/fbp.sh chmod x fbp.sh ./fbp.sh注意此脚本针对ssh是6…

6miu盘搜的使用方法

6miu盘搜是一款强大的网盘搜索引擎,可以帮助用户快速找到所需的网盘资源。本文将为新手用户详细介绍6miu盘搜的使用方法,包括搜索技巧和文件管理方法等。 一、基本搜索 打开6miu盘搜网站,在搜索框中输入关键词,点击搜索按钮或按回车键即可开始搜索。 搜索结果会显示相关的网盘…

科研绘图系列:R语言单细胞数据常见的可视化图形

禁止商业或二改转载,仅供自学使用,侵权必究,如需截取部分内容请后台联系作者! 文章目录 介绍加载R包数据下载导入数据数据预处理图1图2图3图4图5图6系统信息参考介绍 单细胞数据常见的可视化图形 因为本教程是单细胞数据,因此运行本画图脚本需要电脑的内存最少32Gb 加载…

公共数据授权运营机制建设(六大机制、存在问题、发展路径)

前言在国家战略部署下&#xff0c;学界和各地方政府从理论和实践两个层面积极探索公共数据授权运营机制。本期将从学理上剖析公共数据授权运营的基本内容&#xff0c;说明公共数据授权运营到底包括哪些内容&#xff0c;并且举例说明各地在公共数据授权运营机制建设方面的典型经…