Skip to content

vim6

掌握文本对象

文本对象

  • 文本是结构化的,可以快速选择
  • 可以通过文本对象来选择范围

语法

  • operator + outer/inner + 文本对象

例如:

  • 可视化模式(v) + outer/inner + 文本对象

内部与外部

  • i 内部
  • a 外部

实践

  • 选中括号内的内容,使用 v + i + (
  • 选中括号 + 括号内的内容,使用 v + a + (

根据以上的实践,我们还可以得出:

  • 删除括号内的内容,使用 d + i + (
  • 复制括号内的内容,使用 p + i + (

不过选择这个括号也不是很方便, vim 提供了另外一种选择括号的快捷指令 b 例如:

  • v + i + b : 选择括号内的内容
js
function setName(_name, age) {}

文本对象

  • w 一个单词
  • ( / ) / b 一个括号
  • [ / ] 一对中括号
  • { / } 一对大括号
  • B 一对块 {}
  • < / > 一对 <>
  • t XML 标签
  • ' 一对 ''
  • `` 一对 ``
  • " / " 一对 ""
  • p 段落
  • s 句子

文本对象参数

  • ia 不包含分割符
  • aa 包含分隔符

技巧:

  • daa 删除一个参数
  • cia 删除一个参数,不带分隔符

文本对象条目 entire

  • ae 删除当前文本的所有内容
  • ie 删除当前文本的所有内容,但是不包含前后空格

练习

ts
function setName(_name, age) {}

hello word. hello world. hello world?

Released under the MIT License.