在Vim中浏览HTML标签

86

我希望能够逐个HTML标签地导航。有没有一种方式可以从一个HTML标签移动到另一个HTML标签。(例如 *<div>hi</div><div>bye</div> ---> <div>hi</div>*<div>bye</div>) 我知道有关citcat的内容,所以我认为这是可能的。谢谢!


可能是在Vim中跳转到匹配的XML标签的重复问题。 - kenorb
3个回答

184
您可以使用视觉操作符跳转标签,例如:
1. 将光标放在标签上。 2. 按下 v 进入可视模式。 3. 通过按下 a+ti+t 选择外部或内部标签块。
您的光标应向前跳转到匹配的闭合 html/xml 标签。要从闭合标签跳回,请按下 oO 跳转到相反的标签。
现在,您可以通过按下 Esc 退出可视模式,c 更改标签,或者 y 复制标签。
要将该操作记录到寄存器中,请按下 qq 开始录制,执行以上标签跳转操作(包括 Esc),按下 q 结束。然后要调用跳转,请按下 @q(重复执行请按下 @@)。
更多帮助,请参见 :help visual-operators:help v_it
- at:a <tag> </tag> 块(包含标签) - it:内部 <tag> </tag>
或者,使用像 matchit.vim 这样的插件(请参见:Using % in languages without curly braces)。
另请参阅:

6
非常好的解释,谢谢!作为法国人,我再也不会忘记这个运动了。 "vat" "vit"在音标上完全相同,而 "vas vite" 的字面意思是“快点去”:p - h3.

32
matchit.vim宏可以帮助您完成大部分工作,允许您使用%键跳转到闭合标签,就像匹配括号或大括号一样。 它包含在许多Vim发行版中,包括标准下载版本,但通常不会默认启用。 http://www.vim.org/scripts/script.php?script_id=39

谢谢!虽然不是我想要的完全一样,但它确实帮了很大的忙。 - mazlix
谢谢!完全不知道那个。非常容易启用! - guillemus
1
这个可以在neovim上什么都不用做就能工作,谢谢! - Nivethan

-5
按下 F+>,然后按下 ; 或者 , 来移动光标。当你到达目的地后,按下小写字母 a 进入插入模式。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接