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

【vim 学习系列文章 3 - vim 选中、删除、复制、修改引号或括号内的内容】

文章目录

    • vim 快捷命令
      • vim 操作符
      • vim 文本对象
      • vim 动作

上篇文章: vim 学习系列文章 2 - vim 常用插件配置

vim 快捷命令

Vim 有一个模块化的结构,允许你使用各种命令的组合操作。大多数命令有两个、三个或四个部分。三部分结构的一个版本是这样的:操作符(operator)- 文本对象(text object)- 动作(motion)。

vim 操作符

操作符包括删除(delete)、更改(change)、视觉选择(visual select)和替换(replace),每次选一个使用。

vim 文本对象

文本对象要么在内部(inside)要么在周围(around)。

vim 动作

动作有很多种,可以把动作看作是命令的一种目标。举个例子,我可以按 dib,意思是在块内删除(delete inside block)。

其中操作符是 delete,文本对象是 inside,动作是 block。这样就可以删除一个(括号)块内的所有内容。

可选的组合数量很多:

di'——删除(delete)“单引号”内(inside)的内容。

da"——删除“双引号”周围(around)的内容。

dit——删除 html 标签(tag)内的内容。

ci[——改变(change)[方括号] 内的内容。

可供选择的动作命令有很多,它们的表现也各不相同,具体取决于你是在三部分组合中使用,还是在两部分组合中使用(这时去掉文本对象,让命令从光标位置向后运行)。

下面是你可以在上述三段式组合中使用的一些相关动作的清单。

--------------------------------------------------
| motions                           | key        |
|-----------------------------------|------------|
| word                              | w          |
| WORD (includes special chars)     | W          |
| block (of parentheses)            | b or (     |
| BLOCK (of curly braces)           | B or {     |
| brackets                          | [          |
| single quotes                     | '          |
| double quotes                     | "          |
| tag (html or xml <tag></tag>)     | t          |
| paragraph                         | p          |
| sentence                          | s          |
--------------------------------------------------

这里做一下简单总结

  • 更改匹配标点符号中的文本内容,c 表示 change,i 表示inside。
ci’、ci”、ci(、ci[、ci{、ci< -
  • 删除匹配标点符号中的文本内容,d 表示 delete,i表示inside。
di’、di”、di(或dib、di[、di{或diB、di< -
  • 复制匹配标点符号中的文本内容
yi’、yi”、yi(、yi[、yi{、yi< -
  • 选中匹配标点符号中的文本内容
vi’、vi”、vi(、vi[、vi{、vi< -

上篇文章: vim 学习系列文章 2 - vim 常用插件配置

原文链接:https://sean-warman.medium.com/why-vim-is-better-than-vscode-d09e2355eb37

相关文章:

【vim 学习系列文章 3 - vim 选中、删除、复制、修改引号或括号内的内容】

文章目录 vim 快捷命令vim 操作符vim 文本对象vim 动作 上篇文章: vim 学习系列文章 2 - vim 常用插件配置 vim 快捷命令 Vim 有一个模块化的结构&#xff0c;允许你使用各种命令的组合操作。大多数命令有两个、三个或四个部分。三部分结构的一个版本是这样的&#xff1a;操作…...

webpack联邦模块介绍及在dumi中使用问题整理

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、ModuleFederationPlugin参数含义&#xff1f;二、如何在dumi中使用及问题整理1. 如何在dumi中使用(这个配置是好使的)2.相关问题整理2.1 问题12.2 问题2 总…...

记录一下Kotlin: Module was compiled with an incompatible version of Kotlin.的问题

我遇到的整个报错是这样的&#xff1a; Error:Kotlin: Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.7.1, expected version is 1.1.16. 大概意思就是不匹配&#xff0c;但是我这是个不太能随便改代码的项目&#x…...

html中使用Vue+element UI动态创建表单数据不显示问题

直接上代码&#xff1a;html代码如下 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content&…...

CentOS下 Docker、Docker Compose 的安装教程

Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间不会有任何接口。 Docker Compose是用于定义…...

[OnWork.Tools]系列 02-安装

下载地址 百度网盘 历史版本连接各种版本都有,请下载版本号最高的版本 链接&#xff1a;https://pan.baidu.com/s/1aOT0oUhiRO_L8sBCGomXdQ?pwdn159提取码&#xff1a;n159 个人链接 http://on8.top:5000/share.cgi?ssiddb2012fa6b224cd1b7f87ff5f5214910 软件安装 双…...

【外键合并python】

外键合并&#xff08;Foreign Key Merge&#xff09; 外键合并是指在数据库或者数据表中&#xff0c;通过共同的外键将多个数据表合并在一起的操作。在 Excel 表格中&#xff0c;我们可以使用外键来将多个表格合并&#xff0c;类似于数据库中的关联操作。 步骤一&#xff1a;…...

Mongodb SQL 到聚合映射快速参考

SQL 映射 聚合管道允许MongoDB 提供原生聚合功能&#xff0c;对应于 SQL 中许多常见的数据聚合操作。比如&#xff1a;GROUP BY、COUNT()、UNION ALL 测试数据 For MySQL rootlocalhost 14:40:40 [test]> select * from orders; -------------------------------------…...

腾讯云标准型S6/SA3/SR1/S5/SA2服务器CPU处理器大全

腾讯云服务器CVM标准型CPU处理器大全&#xff0c;包括标准型S6、SA3、SR1、S5、S5se、SA2、S4、SN3ne、S3、SA1、S2ne实例CPU处理器型号大全&#xff0c;标准型S6云服务器CPU采用Intel Ice Lake(2.7GHz/3.3GHz)&#xff0c;标准型S5采用Intel Xeon Cascade Lake 8255C/Intel Xe…...

idea 关于高亮显示与选中字符串相同的内容

dea 关于高亮显示与选中字符串相同的内容&#xff0c;本文作为个人备忘的同时也希望可以作为大家的参考。 依次修改File-settings-Editor-Color Scheme-General菜单下的Code-Identifier under caret和Identifier under caret(write)的Backgroud色值&#xff0c;可以参考下图。…...

【重点:单例模式】特殊类设计

请设计一个类&#xff0c;只能在堆上创建对象 方式如下&#xff1a; 将构造函数设置为私有&#xff0c;防止外部直接调用构造函数在栈上创建对象。向外部提供一个获取对象的static接口&#xff0c;该接口在堆上创建一个对象并返回。将拷贝构造函数设置为私有&#xff0c;并且…...

智能家居是否可与ChatGPT深度融合?

​ ChatGPT自2022年面世以来&#xff0c;已为亿万网民提供智能问答服务。然而我们是否曾想到&#xff0c;这一人工智能驱动的聊天机器人&#xff0c;是否可为智能家居赋能? 要实现ChatGPT与智能家居设备之间的无缝对话&#xff0c;单单依靠一台终端是远远不够的。ChatGPT必须…...

LED芯片 VAS1260IB05E 带内部开关LED驱动器 汽车硬灯带灯条解决方案

VAS1260IB05E深力科LED芯片是一种连续模式电感降压转换器&#xff0c;设计用于从高于LED电压的电压源高效驱动单个或多个串联连接的LED。该设备在5V至60V之间的输入电源下工作&#xff0c;并提供高达1.2A的外部可调输出电流。包括输出开关和高侧输出电流感测电路&#xff0c;该…...

微信小程序插件 painter 生成海报、二维码

GitHub 地址&#xff1a;https://github.com/Kujiale-Mobile/Painter 一、引入 将 components/painter 整个文件放到自己项目的 components 中&#xff1b;以组件的形式在页面的 json 文件中引入&#xff1b; 二、使用 <view class"container"><image s…...

Python版day60

84. 柱状图中最大的矩形 给定 n 个非负整数&#xff0c;用来表示柱状图中各个柱子的高度。每个柱子彼此相邻&#xff0c;且宽度为 1 。 求在该柱状图中&#xff0c;能够勾勒出来的矩形的最大面积。 class Solution:def largestRectangleArea(self, heights: List[int]) -> i…...

windows C++多线程同步<3>-互斥量

windows C多线程同步&#xff1c;3&#xff1e;-互斥量 概念&#xff0c;如下图&#xff1a; 另外就是互斥对象谁拥有&#xff0c;谁释放 那么一个线程允许多次获取互斥对象吗&#xff1f; 答案是允许&#xff0c;但是申请多次就要释放多次&#xff0c;否则其他线程获取不到互…...

(学习笔记-系统结构)Linux内核与windows内核

内核 计算机是由各种外部硬件设备组成的&#xff0c;比如内存、CPU、硬盘等&#xff0c;如果每个应用都要和这些硬件设备对接通信协议&#xff0c;那这样太累了&#xff0c;所以这个中间人由内核来负责&#xff0c;让内核作为应用连接硬件设备的桥梁&#xff0c;应用程序只关心…...

find_in_set在oracle下的解决方案

比如一张表&#xff1a; artile (id,type,content); # type:1表示文艺类&#xff0c;2表示小说类&#xff0c;3表示传记&#xff0c;4表示传说&#xff0c;等等5,6,7,8表数据&#xff1a; idtypecontent13,1dfasdfasdf21,3,6,8dfasdf36,8,9add 现在要找出3传记类的artile记录…...

智能垃圾桶

1.树莓派3B引脚图 2. 原理图 3.舵机线图 搜了这个这么多3b的资料&#xff0c;自己只是想解决如何下程序和运行程序的博客&#xff0c;网上搜集的资料全是讲如何通过SSH或者网线连接树莓派&#xff0c;通过直接连接屏幕的教程较少。 遇到问题&#xff1a;不论是舵机还是其他传…...

面试题-TS(十):如何处理可选属性和默认参数?

面试题-TS(10)&#xff1a;如何处理可选属性和默认参数&#xff1f; 1. 可选属性 1.1 什么是可选属性&#xff1f; 在TypeScript中&#xff0c;可选属性是指在定义接口或类时&#xff0c;指定某些属性不是必须的&#xff0c;可以存在也可以不存在。使用可选属性可以让我们定…...

AI智能体开发全解析:从需求到部署,打造下一代智能应用!

AI智能体&#xff08;AI Agent&#xff09;的开发流程已从传统的软件开发生命周期&#xff08;SDLC&#xff09;演进为智能体开发生命周期&#xff08;ADLC, Agentic Development Lifecycle&#xff09;。其核心逻辑不再是编写确定的逻辑代码&#xff0c;而是构建具备感知、规划…...

听说拍照的人会拿相似的鱼皮豆代替野生鹌鹑蛋拍照(防原创)

听说拍照的人会拿相似的鱼皮豆代替野生鹌鹑蛋拍照&#xff08;防原创&#xff09;大家都知道吃野生动物会得怪病&#xff0c;吃野生植物很容易中毒因为野生植物很多都有毒&#xff0c;获取野生鹌鹑蛋属于盗猎野生动植物破坏野生环境&#xff08;在野外拍摄写生不破坏野生环境除…...

Vue+SpringBoot全栈项目搭建:手把手教你实现一个带分页和Swagger的CRUD应用

VueSpringBoot全栈开发实战&#xff1a;从零构建企业级CRUD应用 1. 全栈技术选型与项目初始化 在当今快速迭代的互联网开发领域&#xff0c;前后端分离架构已成为主流选择。Vue.js作为渐进式前端框架&#xff0c;以其轻量级和响应式数据绑定特性&#xff0c;成为构建用户界面…...

提升网络调试效率,快马AI一键生成端口扫描与服务检测实用脚本

最近在调试网络服务时&#xff0c;经常需要手动检查端口状态和接口可用性&#xff0c;重复劳动特别耗时。于是尝试用Python写了个自动化工具&#xff0c;发现效果不错&#xff0c;分享下实现思路和使用体验。 端口扫描功能实现 通过socket模块实现基础的TCP连接检查&#xff0c…...

5分钟部署Sambert语音合成:多情感中文TTS开箱即用,新手零门槛

5分钟部署Sambert语音合成&#xff1a;多情感中文TTS开箱即用&#xff0c;新手零门槛 1. 引言&#xff1a;为什么选择这个语音合成镜像 想象一下&#xff0c;你正在开发一个智能客服系统&#xff0c;需要让AI用不同的语气和音色与用户交流。传统语音合成方案要么配置复杂&…...

QIP 2023:亚马逊量子计算三篇论文突破

量子技术 某机构在QIP 2023发表的量子计算论文 针对“超级Grover”优化、拓扑数据分析的量子算法以及物理系统模拟的研究&#xff0c;展示了某机构在量子计算领域的广泛兴趣。 作者&#xff1a; Fernando Brando 日期&#xff1a; 2023年2月2日 阅读时间&#xff1a; 7分钟 在今…...

【2026年6月最新】英语四级历年真题及答案解析PDF电子版(2015-2025年12月)

2026年6月全国大学英语四级考试安排2026年上半年全国大学英语四级考试&#xff08;CET4&#xff09;定于6月13日举行。2025年12月四级真题资料包提供2025年12月英语四级考试全套备考资料&#xff1a;完整版考试真题试卷详细答案解析高清听力音频MP3文件PDF电子版文档&#xff0…...

手把手教你搞定VMware vSphere 7.0全家桶:从服务器RAID配置到vCenter上线的保姆级避坑指南

企业级虚拟化平台部署实战&#xff1a;从硬件配置到vSphere 7.0全栈落地指南 当企业IT基础设施面临数字化转型时&#xff0c;服务器虚拟化技术往往成为关键突破口。作为业界标杆的VMware vSphere解决方案&#xff0c;其7.0版本在性能、安全性和管理便捷性方面都有显著提升。本文…...

M.2 (NGFF) PCIe 3.0 接口在嵌入式系统中的实战应用 —— 从硬件设计到驱动优化

1. M.2接口在嵌入式系统中的核心价值 第一次在嵌入式项目里用M.2接口时&#xff0c;我盯着那个比指甲盖大不了多少的插槽直犯嘀咕——这么小的玩意儿真能跑PCIe 3.0&#xff1f;实测后发现这简直是嵌入式系统的"万能扩展坞"。不同于消费级PC的M.2只用来插SSD&#x…...

HY-Motion 1.0从安装到出片:3步完成3D动画生成,小白友好教程

HY-Motion 1.0从安装到出片&#xff1a;3步完成3D动画生成&#xff0c;小白友好教程 想不想用几句话就让3D角色动起来&#xff1f;现在通过HY-Motion 1.0&#xff0c;你只需要输入文字描述&#xff0c;就能自动生成专业的3D骨骼动画。这篇文章将带你从零开始&#xff0c;用最简…...