当前位置: 首页 > 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

http://www.lryc.cn/news/98176.html

相关文章:

  • webpack联邦模块介绍及在dumi中使用问题整理
  • 记录一下Kotlin: Module was compiled with an incompatible version of Kotlin.的问题
  • html中使用Vue+element UI动态创建表单数据不显示问题
  • CentOS下 Docker、Docker Compose 的安装教程
  • [OnWork.Tools]系列 02-安装
  • 【外键合并python】
  • Mongodb SQL 到聚合映射快速参考
  • 腾讯云标准型S6/SA3/SR1/S5/SA2服务器CPU处理器大全
  • idea 关于高亮显示与选中字符串相同的内容
  • 【重点:单例模式】特殊类设计
  • 智能家居是否可与ChatGPT深度融合?
  • LED芯片 VAS1260IB05E 带内部开关LED驱动器 汽车硬灯带灯条解决方案
  • 微信小程序插件 painter 生成海报、二维码
  • Python版day60
  • windows C++多线程同步<3>-互斥量
  • (学习笔记-系统结构)Linux内核与windows内核
  • find_in_set在oracle下的解决方案
  • 智能垃圾桶
  • 面试题-TS(十):如何处理可选属性和默认参数?
  • Istio Pilot源码学习(一):Pilot-Discovery启动流程、ConfigController配置规则发现
  • 数据结构:顺序表(C实现)
  • 素描基础知识
  • 【Chat GPT】用 ChatGPT 运行 Python
  • cartographer发布畸变矫正后的scan数据
  • Idea中git push to origin/master was rejected错误解决方案
  • docker版jxTMS使用指南:自定义频率型动态管控
  • 【Docker】初识Docker以及Docker安装与阿里云镜像配置
  • C语言:动态内存管理
  • 如何往MySQL中插入100万条数据?
  • IntelliJ IDEA 2023.2 最新变化