在Vim中真正选择HTML标记

在Vim中真正选择HTML标记,html,vim,Html,Vim,在HTML文档中,假设我有以下内容: <p> fdhjfkdj hfkjdfhkjdfhkjdh dfhdkf kjdh kjdhkjdhk fhkdj hdjfhjkdh kjdh kjdf jkdhf d jfdfhkdjfhkjdf fjdj fhkd fdhfkjd hfkjdfhkjdf kdhfd fdhjkfjk dhjdfhkjdf kjdfhdk fhdk </p> 缩进它不会缩进文本,而是缩进整个标记。我怎样才能真正地在里

在HTML文档中,假设我有以下内容:

<p>
  fdhjfkdj hfkjdfhkjdfhkjdh dfhdkf kjdh kjdhkjdhk 
  fhkdj hdjfhjkdh kjdh kjdf jkdhf d
  jfdfhkdjfhkjdf 
  fjdj fhkd fdhfkjd hfkjdfhkjdf kdhfd 
  fdhjkfjk dhjdfhkjdf kjdfhdk fhdk 
</p>

缩进它不会缩进文本,而是缩进整个标记。我怎样才能真正地在里面的文本上进行选择,以便像上面那样在上面运行命令呢?

这是因为段落的内部HTML在起始
标记之后立即开始,因此它在后面立即包含换行符(在
vit
之后也会看到)。正如您所认识到的,重新格式化和缩进是基于行的,因此单个字符计数

要使文本对象按您所希望的方式工作,您需要移动到选择的开始(
o
),然后将其减少到下一行(使用
j
最简单;对于缩进和格式化,确切的开始列并不重要)。因此,重新格式化的顺序是:

vitojgq

如果您想要更快的速度,您需要编写自己的文本对象。看看我的,或者;它们可以帮助定义一个。

实际的顺序要长一点:
vitkojgq
,但在你解释之前,我认为这不会在我脑海中“点击”。谢谢也许我可以将其转换为某个typeRight的快捷方式,除非end标记从第1列开始,如您的示例所示!
vitojgq