当前位置: 首页 > news >正文

【Vim Masterclass 笔记04】S03L12:Vim 文本删除同步练习课 + S03L13:练习课点评

文章目录

  • L12 Exercise 03 - Deleting Text
    • 1 训练目标
    • 2 训练指引
      • 2.1 打开文件 practicedeleting.txt
      • 2.2 练习删除单个字符
      • 2.3 练习 motion:删除(Practice deleting motions)
      • 2.4 文本行的删除练习(Practice deleting lines)
      • 2.5 保存变更内容(或不保存)Save your work (or not!)
      • 2.6 自由练习
  • L13 Exercise 03 - Deleting Text - Walkthrough

【写在前面】
本篇为 L11 课文本删除部分的同步练习课,Vim 知识点总结得再多,也不如对照这篇练习敲一遍操作。本课课件已完整上传 CSDN 平台,训练要求也已全文翻译,方便对照练习。

L12 Exercise 03 - Deleting Text


1 训练目标

在文件中删除文本。同时熟悉 [count]{motion} 模式。1

2 训练指引

依次按下列指令完成操作:

2.1 打开文件 practicedeleting.txt

打开一个命令行会话,并使用 Vim 打开随堂源码包中的文件 practicedeleting.txt(假设压缩文件已解压到本地 Download 文件夹):

cd Downloads
cd vimclass
vim practicedeleting.txt

2.2 练习删除单个字符

光标移至第三行,方式各异:既可以连续按 J,也可以使用 3GG3ShiftG,甚至是命令模式下执行 :3 + Enter

光标定位到错误单词 mistakke 多出的任意一个 k,敲 X 键进行删除。删除前的句子如下所示:

First, fix this spelling mistakke.

删除后:

First, fix this spelling mistake.

再将光标移至第四行,依次删除单词中重复的字母,通过敲 X 键删除光标所在字符实现。操作前的句子如下所示:

Fixx theese allso.

依次删除多出的 xel 后,该句变为:

Fix these also.

再将光标移至下一行:

Delete this text with the X command.

将光标定位到该行末尾:要么重复按下 L 键,要么使用 $ 键。此时用大写的 X 键删除所有文本,却唯独剩下末尾的句点没删完:

.

按下 X 键删除剩余的那个字符,于是该行被清空。

2.3 练习 motion:删除(Practice deleting motions)

光标移至下一行:

Who let the dogs out? cats

将光标定位到紧挨问号右边的那个字符、即 ?cats 之间的空格处。删除该行剩余文本。可以用 d$,或者更短的 D 命令。效果如下:

Who let the dogs out?

再将光标移至第 43 行(提示:43gg),用 d 操作符删除第一个单词。回忆基本形式 count{motion},使用 dwdW 完成任务。首个单词删除前:

Far far away, behind the wild mountains, far from the countries Vokalia and

首个单词删除后:

far away, behind the wild mountains, far from the countries Vokalia and

再删除第二个单词,该行变为:

away, behind the wild mountains, far from the countries Vokalia and

再使用两个按键,删除文本 away, 。回忆一下,移动命令 w 会停在标点符号处,而大写的 W 则会忽略标点,将光标停在其他空白处。因此通过两次按键来删除 away 要使用 dW。结果如下:

behind the wild mountains, far from the countries Vokalia and

再将光标移至第一个单词 the 的起始位置。使用一个操作与一次移动来删除句子中的第一个单词。要实现该目标,需键入 db;另外也可以用 dB,结果如下:

the wild mountains, far from the countries Vokalia and

接着,删除单词 the wild 。提示一种方法:使用 2DW

mountains, far from the countries Vokalia and

然后再删除 mountains, far 。刚好划过这段内容的一个 motion 命令为 2W,因此使用 d2W 完成文本删除。剩余内容如下:

from the countries Vokalia and

2.4 文本行的删除练习(Practice deleting lines)

使用 dd 删除一行。此时光标定位到以下这行:

Consonantia, there live the blind texts. Separated they live in Bookmarksgrove

要删除多行,使用 [count]dd。比如删除以下这些行:

Consonantia, there live the blind texts. Separated they live in Bookmarksgrove
right at the coast of the Semantics, a large language ocean.

仔细观察,此时有三行要删除:第一行以 Consonantia 开头,下一行以 right,第三行是空白行,根本没有文本。要删除这三行,使用 3dd。之后光标位于这句上:

A small river named Duden flows by their place and supplies it with the

若要通过一次敲击再删除下一个三行,只需键入一个句点键 .,上一次命令操作就会被重复执行。按下 . 键后,下面三行将被删除:

A small river named Duden flows by their place and supplies it with the
necessary regelialia. It is a paradisematic country, in which roasted parts of
sentences fly into your mouth.

2.5 保存变更内容(或不保存)Save your work (or not!)

若要保存变更内容并让 Vim 继续运行,可使用 :w + Enter;保存变更并立即退出,则键入 :wq + Enter 即可;若退出时放弃更改文件,则使用 :q! + Enter。三种方式由您自行决定。

2.6 自由练习

完成上述练习后,按你自己的想法练习文件内容的删除。


L13 Exercise 03 - Deleting Text - Walkthrough

本节为 L12 练习的讲解课。

使用大写的 X(即 Shift + X)来删除一整行内容,除了按住 Shift + X 外,还可以在前面加一个很大的数量,例如(只要大于该行总长度就行):50 + Shift + X。(最后一个字符仍然只能通过小写的 X 实现)。


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

相关文章:

【Vim Masterclass 笔记04】S03L12:Vim 文本删除同步练习课 + S03L13:练习课点评

文章目录 L12 Exercise 03 - Deleting Text1 训练目标2 训练指引2.1 打开文件 practicedeleting.txt2.2 练习删除单个字符2.3 练习 motion:删除(Practice deleting motions)2.4 文本行的删除练习(Practice deleting lines&#xf…...

[AI] 深度学习的“黑箱”探索:从解释性到透明性

目录 1. 深度学习的“黑箱”问题:何为不可解释? 1.1 为什么“黑箱”问题存在? 2. 可解释性研究的现状 2.1 模型解释的方法 2.1.1 后置可解释性方法(Post-hoc Explanations) 2.1.2 内在可解释性方法(I…...

网络安全技能试题总结参考

对网络安全技能测试相关的试题进行了总结,供大家参考。 一、单选题 1.(单选题)以下属于汇聚层功能的是 A.拥有大量的接口,用于与最终用户计算机相连 B.接入安全控制 C.高速的包交换 D.复杂的路由策略 答案:D 2.(单选题)VLAN划分的方法,选择一个错误选项 A.基于端口…...

【翻译】优化加速像素着色器执行的方法

中文翻译 在回复我的 Twitter 私信时,我遇到了一个关于如何提高像素/片段着色器执行速度的问题。这是一个相当广泛的问题,具体取决于每个 GPU/平台和游戏内容的特性,但我在本帖中扩展了我“头脑风暴”式的回答,以便其他人也觉得有用。这不是一份详尽的清单,更像是一个高层…...

赛博周刊·2024年度工具精选(图片资源类)

1、EmojiSpark emoji表情包查找工具。 2、fluentui-emoji 微软开源的Fluent Emoji表情包。 3、开源Emoji库 一个开源的emoji库,目前拥有4000个emoji表情。 4、中国表情包大合集博物馆 一个专门收集中国表情包的项目,已收录5712张表情包,并…...

【深度学习基础之多尺度特征提取】多尺度图像增强(Multi-Scale Image Augmentation)是如何在深度学习网络中提取多尺度特征的?附代码

【深度学习基础之多尺度特征提取】多尺度图像增强(Multi-Scale Image Augmentation)是如何在深度学习网络中提取多尺度特征的?附代码 【深度学习基础之多尺度特征提取】多尺度图像增强(Multi-Scale Image Augmentation&#xff0…...

Spring Boot项目启动时显示MySQL连接数已满的错误

当Spring Boot项目启动时显示MySQL连接数已满的错误,这通常意味着应用程序尝试创建的数据库连接数超过了MySQL服务器配置的最大连接数限制。以下是一些解决此问题的步骤: 1. 检查MySQL服务器的最大连接数设置 首先,你需要检查MySQL服务器的…...

小程序多入口对应指定客服的实现方案:小程序如何实现接入指定客服人员?

小程序多入口对应指定客服的实现方案:小程序如何实现接入指定客服人员? 背景 小程序是否能接入指定客服? 近年来,小程序已经成为众多企业与用户交互的高效工具。无论是电商、服务预约还是在线咨询,客服功能的引入显…...

网页单机版五子棋小游戏项目练习-初学前端可用于练习~

今天给大家分享一个 前端练习的项目,技术使用的是 html css 和javascrpit 。希望能对于 刚刚学习前端的小伙伴一些帮助。 先看一下 实现的效果图 1. HTML(HyperText Markup Language) HTML 是构建网页的基础语言,它的主要作用是定…...

【玩转23种Java设计模式】行为型模式篇:命令模式

软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性、程序的重用性。 汇总目录链接&…...

【Spring MVC 常用注解】注解驱动开发的魔法

在 Spring MVC 中,注解可以说是开发者的“魔法棒”,通过简单的注解配置,开发者能够实现请求处理、参数绑定、响应返回等复杂功能,真正做到“少写代码多干活”。 我们接下来就来一起看看 Spring MVC 中常用的注解,它们的…...

jmeter分布式启动

https://www.cnblogs.com/qtclm/p/11082081.html 1、代理机:输入“ipconfig”,找到IP地址,在Jmeter/bin/jmeter.properties设置remote host 启动jmeter server 1、控制机:输入“ipconfig”,找到IP地址,在J…...

数据仓库中的指标体系模型介绍

数据仓库中的指标体系介绍 文章目录 数据仓库中的指标体系介绍前言什么是指标体系指标体系设计有哪些模型?1. 指标分层模型2. 维度模型3. 指标树模型4. KPI(关键绩效指标)模型5. 主题域模型6.平衡计分卡(BSC)模型7.数据指标框架模…...

混合合并两个pdf文件

混合两个pdf 1、在线免费交替和混合奇数和偶数PDF页面2、有什么软件把两个 PDF 交叉合并?3、pdfsam本地合并 如何Google翻译的原文和译文合并,(沉浸式翻译效果相对较好) 1、在线免费交替和混合奇数和偶数PDF页面 https://deftpd…...

aws(学习笔记第二十一课) 开发lambda应用程序

aws(学习笔记第二十一课) 开发lambda应用程序 学习内容: lambda的整体概念开发lambda应用程序 1. lambda的整体概念 借助AWS Lambda,无需预置或管理服务器即可运行代码。只需为使用的计算时间付费。借助 Lambda,可以为几乎任何类型的应用进…...

JavaWeb Servlet的getInitParameter、业务层、控制反转IOC和依赖注入DI

目录 1. Servlet的getInitParameter2. 业务层3. 控制反转IOC和依赖注入DI3.1 背景3.2 实现如下3.3 原理 1. Servlet的getInitParameter Servlet有两个getInitParameter 一个是servletContext.getInitParameter,获取context-param的全局参数一个是servletConfig.ge…...

免费开源跨平台SSH工具 WindTerm:媲美 xshell 的最佳平替(含详细使用教程)

免费开源跨平台SSH工具 WindTerm WindTerm概述免费开源、免费开源、免费开源下载、安装WindTerm 屏幕截图WindTerm 主窗口 (zsh):WindTerm 拆分视图:WindTerm DigeWhite 主题: WindTerm 基本设置使用WindTerm连接到服务…...

洛谷 P1075 [NOIP2012 普及组] 质因数分解 C语言

题目: P1075 [NOIP2012 普及组] 质因数分解 - 洛谷 | 计算机科学教育新生态 题目描述 已知正整数 n 是两个不同的质数的乘积,试求出两者中较大的那个质数。 输入格式 输入一个正整数 n。 输出格式 输出一个正整数 p,即较大的那个质数。…...

Apache Hive常见问题

入门问题 什么是Apache Hive? 解释Hive的用途。Hive作为基于Hadoop的数据仓库工具是如何工作的?与传统关系型数据库相比,使用Hive有什么优势? Hive和关系型数据库管理系统(RDBMS)之间的区别是什么&#…...

活动报名系统源码:JAVA同城服务系统活动报名同城圈子商家商城城市代理躲猫猫

JAVA同城服务系统:打造多元化社交与娱乐新体验 在数字化时代,同城服务系统已成为连接城市生活的重要桥梁。我们精心打造的JAVA同城服务系统,不仅融合了活动报名、同城圈子、商家商城、城市代理等多重功能,还特别加入了创新的“躲…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统,智慧工地全套源码,java版智慧工地源码,支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求,提供“平台网络终端”的整体解决方案,提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

pam_env.so模块配置解析

在PAM(Pluggable Authentication Modules)配置中, /etc/pam.d/su 文件相关配置含义如下: 配置解析 auth required pam_env.so1. 字段分解 字段值说明模块类型auth认证类模块,负责验证用户身份&am…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

ESP32读取DHT11温湿度数据

芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

VTK如何让部分单位不可见

最近遇到一个需求&#xff0c;需要让一个vtkDataSet中的部分单元不可见&#xff0c;查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行&#xff0c;是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示&#xff0c;主要是最后一个参数&#xff0c;透明度…...

C++ 求圆面积的程序(Program to find area of a circle)

给定半径r&#xff0c;求圆的面积。圆的面积应精确到小数点后5位。 例子&#xff1a; 输入&#xff1a;r 5 输出&#xff1a;78.53982 解释&#xff1a;由于面积 PI * r * r 3.14159265358979323846 * 5 * 5 78.53982&#xff0c;因为我们只保留小数点后 5 位数字。 输…...

【开发技术】.Net使用FFmpeg视频特定帧上绘制内容

目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法&#xff0c;当前调用一个医疗行业的AI识别算法后返回…...