html - 在 Vim 中真正选择 HTML 标签

标签 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>

如果我做正常的 vit vim 中的命令,如果我猛拉它,它会选择里面的文本,但是,如果我尝试做任何事情,比如跳转或运行 gq它影响整个 <p> .例如,执行 vit然后gq最终看起来像

    <p> fdhjfkdj hfkjdfhkjdfhkjdh dfhdkf kjdh kjdhkjdhk  lkd sldj lks jlkdf
jlsdkf jlsdf jdl dlsjl fhkdj hdjfhjkdh kjdh kjdf jkdhf d jfdfhkdjfhkjdf fjdj
fhkd fdhfkjd hfkjdfhkjdf kdhfd fdhjkfjk dhjdfhkjdf kjdfhdk fhdk </p>

缩进它不会缩进文本,而是整个标签。我如何真正选择里面的文本,以便我可以像上面那样在上面运行命令?

最佳答案

那是因为段落的内部 HTML 在开始 <p> 之后立即开始标记,因此它包含紧跟在它之后的换行符(你也会在 vit 之后看到)。如您所知,重新格式化和缩进是基于行的,因此单个字符很重要。

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

vitojgq

如果你想要更快的东西,你需要写你自己的文本对象。看看我的CountJump plugin ,或 textobj-user plugin ;他们可以帮助定义一个。

关于html - 在 Vim 中真正选择 HTML 标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23538263/

相关文章:

python - 安装YCM报错: python site module not loaded

javascript - 网站(docs.google 或 hotmail)中的 Wordlike 输入屏幕 javascript php

html - 居中定位固定三列布局

python - 带 Python 的 Vim : Make ":make" take me to the error

linux - VIM 当前未读取 .vimrc

regex - Vim:如何只搜索和替换每一行的一部分?

Vim Solarized 主题黑色空间

javascript - 在多个元素上滚动到顶部

python - 使用 BeautifulSoup 从维基百科获取特定图像

html - 将 pdf、doc、ppt 转换为 html5