【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 ↩︎

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

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

相关文章

Spring Bean 无法被扫描到的问题

问题复现 ● 使用如下包结构: ● 我们发现 HelloWorldController 失效了,无法找到 HelloWorldController 这个 Bean 了。这是为何? 案例分析 ● 对于 Spring Boot 而言,关键点在于 Application.java 中使用了 SpringBootAppli…

Linux umami网站统计工具自定义API开发

Linux umami网站统计工具自定义API开发 一、src/queries/analytics/下添加调用sql查询文件:二、src/queries/index.js文件中增加导出模块内容:三、src/pages/api/下根据目录添加接口方法文件:四、构建项目,启动。1、到umami目录&a…

PHP 中的魔术常量

概述 PHP提供了9个魔术常数,您可以在PHP应用程序代码中使用。它们是“神奇的”,因为它们是在编译时定义的,不像常规常量(您可以自己定义)是在运行时定义的。这意味着它们的值可以根据它们在代码中的使用位置而更改。 …

libvirt学习

文章目录 libvirt 简介节点、Hypervisor和域libvirt 安装和配置libvirt的XML配置文件libvirt APIMain libvirt APIsError handlingSpecial specific APIs 建立到Hypervisor的连接libvirt API使用编译libvirt工具virshvirt-clonevirt-dfvirt-imagevirt-installvirt-topvirt-what…

源码分析之Openlayers中MultiPolygon类

概述 在Openlayers中,MultiPolygon类顾名思义就是表示由多个多边形组成的几何对象,关于Polygon类可以参考这篇文章源码分析之Openlayers中Polygon类;同Polygon类一样,MultiPolygon类继承于SimpleGeometry类。 本文主要介绍MultiPolygon类的…

单元测试4.0+思路总结

Jmockit使用笔记_增加代码覆盖率_覆盖try catch_使用new MockUp私有方法-CSDN博客 一般使用new MockUp模拟被测试代码中的私有方法(常用) 使用new Expetations模拟被测试代码中的方法?

12.31号 更新的动漫资源!

12.31号 更新的所有动漫资源(UC不限速) 遮天90集 4K高码率 uc:https://drive.uc.cn/s/3b93ab653cdf4?public1 夸克https://pan.quark.cn/s/cacfbafe5fcc 百度https://pan.baidu.com/s/16BZ0fY5fEvftpmu7tKuXzg?pwdjt5d 一念永恒30集 4…

AIGC与未来的通用人工智能(AGI):从生成内容到智能革命

目录 第一部分:AIGC概述 1.1 什么是生成式人工智能(AIGC) 1.2 AIGC的应用 第二部分:通用人工智能(AGI)概述 2.1 什么是通用人工智能(AGI) 2.2 AGI的关键特征 2.3 当前AGI的挑战 第…

【YashanDB知识库】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7849012.html?templateId1718516 【标题】python驱动查询gbk字符集崖山数据库CLOB字段,数据被驱动截断 【关键字】python驱动,gbk服务端,崖山数据库…

自动化测试工具Ranorex Studio(七十八)-故障排除

故障排除 如果你有连接问题,请考虑以下潜在的问题来源: • 请确保被测系统(移动设备)和运行测试的机器(安装Ranorex的)是在同一网络中的。 设备上的Wi-Fi设置更改后,请务必重新启动设备。 •…

常用的linux命令介绍

Linux是一个强大的操作系统,它提供了许多命令行工具来帮助用户管理文件和目录、监控系统性能、以及执行各种系统管理任务。下面是一些常用的Linux命令,我会用简单的语言来解释它们的作用: 1. ls • 作用:列出目录内容。 • 比喻&a…

万里数据库GreatSQL监控解析

GreatSQL是MySQL的一个分支,专注于提升MGR(MySQL Group Replication)的可靠性及性能。乐维监控平台可以有效地监控GreatSQL,帮助用户及时发现并解决潜在的性能问题。 通过在GreatSQL服务器上安装监控代理,收集数据库性…

缓存管理自动化:JuiceFS 企业版 Cache Group Operator 新特性发布

近期,JuiceFS 企业版推出了 Cache Group Operator,用于自动化创建和管理缓存组集群。Operator 是一种简化 Kubernetes 应用管理的工具,它能够自动化应用程序的生命周期管理任务,使部署、扩展和运维更加高效。 在推出 Operator 之前…

Wireshark和科来网络分析系统

Wireshark 是一款功能强大的网络协议分析工具,主要用于捕获和分析网络流量,帮助用户排查网络问题、进行安全分析和学习网络协议。以下是 Wireshark 的基础使用指南: 1. 安装 Wireshark 访问 Wireshark 官网 下载并安装适合你操作系统的版本…

无穿戴动作捕捉系统技术解密及多元化运用

在当今科技飞速发展的时代,动作捕捉技术不断革新,无穿戴动作捕捉系统崭露头角。与传统粘贴标记点的动作捕捉技术相比,无标记点动作捕捉技术具有显著优势。它能够在确保高精度捕捉的前提下,以非接触的方式极大地提升被捕捉对象的表…

wpf 基于Behavior库 的行为模块

Microsoft.Xaml.Behaviors 是一个用于WPF(Windows Presentation Foundation)的行为库,它的主要作用是允许开发者在不修改控件源代码的情况下,为控件添加自定义的行为和交互逻辑。行为库的核心思想是通过定义可重用的行为组件&…

深度解析PXE技术与实践应用

深度解析PXE技术与实践应用 一、PXE技术概述 1.1 PXE技术定义 PXE(Preboot Execution Environment),即预启动执行环境,是一种允许计算机通过网络接口(NIC)引导启动操作系统的技术。这项技术由Intel和Sys…

GPT分区 使用parted标准分区划分,以及相邻分区扩容

parted 是一个功能强大的命令行工具,用于创建和管理磁盘分区表和分区。它支持多种分区表类型,如 MBR(msdos)、GPT(GUID Partition Table)等,并且可以处理大容量磁盘。parted 提供了一个交互式界…

C#如何操作数据库

C#如何操作数据库 前言1、查询操作2、增删改操作3、需要返回id主键的sql语句执行 前言 本文主要交代如何通过引用 using MySql.Data.MySqlClient;来操作数据库 需要导入.dll文件 例如:在本地Mysql下载目录下->Connecter NET 8.0->Assemblies->net5.0->…

DevOps工程技术价值流:Ansible自动化与Semaphore集成

在DevOps的浪潮中,自动化运维工具扮演着举足轻重的角色。Ansible,作为一款新兴的自动化运维工具,凭借其强大的功能和灵活性,在运维领域迅速崭露头角。本文将深入探讨Ansible的特点、架构、工作原理,以及其应用场景&…