【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关键字…

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交互查询系统 一、功能说明 模拟火车票查询系统包含以下功…

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

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

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…

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…

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

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

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

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

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

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

CDP集成Hudi实战-spark shell

[〇]关于本文 本文主要解释spark shell操作Hudi表的案例 软件版本Hudi1.0.0Hadoop Version3.1.1.7.3.1.0-197Hive Version3.1.3000.7.3.1.0-197Spark Version3.4.1.7.3.1.0-197CDP7.3.1 [一]使用Spark-shell 1-配置hudi Jar包 [rootcdp73-1 ~]# for i in $(seq 1 6); do s…

Python爬虫基础——百度新闻页面结构剖析

经过上一篇文章文章[Python爬虫基础——认识网页结构(各种标签的使用)]的介绍&#xff0c;我们对网页结构已经有了初步的认识&#xff0c;本篇文章针对百度新闻界界面结构进行剖析。 在浏览器地址栏中输入https://news.baidu.com/&#xff0c;然后按住F12打开发这工具在“Eleme…

【老白学 Java】保存 / 恢复对象状态

保存、恢复对象状态 文章来源&#xff1a;《Head First Java》修炼感悟。 上两篇文章分别讨论了对象序列化和反序列化&#xff0c;主要是针对数据文件进行读、写操作的介绍。 本篇文章通过一个完整的例子&#xff0c;复习一下对象保存与恢复的操作步骤&#xff0c;在文章最后做…

进程间通信——网络通信——UDP

进程间通信&#xff08;分类&#xff09;&#xff1a;网络通信、无名管道、有名管道、信号、消息队列、共享内存、信号量集 OSI七层模型&#xff1a;&#xff08;理论模型&#xff09; 应用层 : 要传输的数据信息&#xff0c;如文件传输&#xff0c;电子邮件等 表示层 : 数…

3272 小蓝的漆房

将devc设置支持编译就能用新的遍历方式 for(auto &x : s)//遍历容器s&#xff0c;变量为x /* 多循环的嵌套&#xff1a; 计数是否需要重置为0; 是否因为ans定义成全局变量导致ans在比较多时候会出现错误*/ /* 1.对于一个标准色&#xff0c;对目标数组遍历&#xff0c; 如…

海外云服务器能用来做什么?

海外云服务器不仅服务种类繁多&#xff0c;而且能满足多行业的需求&#xff0c;方便了越来越多的企业与个人。本文将探讨海外云服务器的核心服务及其适用领域&#xff0c;帮助企业更好地了解这一技术资源。 云存储&#xff1a;安全高效的数据管理 海外云服务器为用户提供了稳定…

导出中心设计

业务背景 应用业务经常需要导出数据&#xff0c;但是并发的导出以及不合理的导出参数常常导致应用服务的内存溢出、其他依赖应用的崩溃、导出失败&#xff1b;因此才有导出中心的设计 设计思想 将导出应用所需的内存转移至导出中心&#xff0c;将导出的条数加以限制&#xf…

Re77 读论文:LoRA: Low-Rank Adaptation of Large Language Models

诸神缄默不语-个人CSDN博文目录 诸神缄默不语的论文阅读笔记和分类 论文全名&#xff1a;LoRA: Low-Rank Adaptation of Large Language Models ArXiv网址&#xff1a;https://arxiv.org/abs/2106.09685 官方GitHub网站&#xff08;包含在RoBERTa、DeBERTa、GPT-2上用Lora微调…

Redis 数据库源码分析

Redis 数据库源码分析 我们都知道Redis是一个 <key,value> 的键值数据库&#xff0c;其实也就是一个 Map。如果让我来实现这样一个 Map&#xff0c;我肯定是用数组&#xff0c;当一个 key 来的时候&#xff0c;首先进行 hash 运算&#xff0c;接着对数据的 length 取余&…