Skip to main content

文本对象

文本对象(text object), 标明了 Vim 中一个 文本组 , 格式为: {operator}{a|i}{text-object}

使用示例: cit, 表示删除当前光标所在标签内全部内容, 并进入插入模式, 三个字母对应命令含义如下:

c 是动作(operator), 比如:

  • d 删除
  • y 复制
  • v 可视模式

i 是对象描述词, 支持两种对象描述词:

  • i{object} Inner object (对象类型内部的文本, 不包含对象类型)
  • a{object} A whole object

t 是对象类型, 常用的如下:

  • w word, 单词
  • b bracket, 括号(圆括号)
  • B big bracket, 大括号(包括方括号和花括号)
  • t tag, HTML标签
  • p paparagraph, 文本段落

其他示例:

按键操作用途备注
caw删除当前单词,并进入插入模式aw 可以记成 a word
ciw删除当前单词,并进入插入模式
cit删除标签内单词,并进入插入模式it 可以记成 inside the tag
cit删除标签内单词,并进入插入模式it 可以记成 inside the tag

上面的c可以替换成其他操作符dy,甚至 v(可视模式).

VSCode Vim

VSCode Vim 扩充了一些 Text Object:

  • e entire file, 整个文件
  • q quote, 引号(单引号, 双引号, 反引号)
  • a argument, 单个方法参数

示例:

  • daa 删除一个参数