在Vim中,如何对一段代码进行可视化行选择?

3
例如,在HTML中,我想选择整个元素。我可以使用Shift+V,然后一直按J,直到选中所有行,但这很麻烦。输入vat也不是我想要的——它进入了可视模式,而不是可视行模式。没有可视行的问题在于,当我复制文本时,它没有复制第一行的缩进。

什么是代码块?它是括号内的一些文本吗?是哪种括号? - Tarek Dakhran
在HTML中,我有一个格式正确的元素,并且里面有很多元素。我想在行模式下可视化选择整个元素。 - Ben Davis
2个回答

10

您只需按照惯例执行vat,然后按下shift-v即可进行逐行选择。


哦,哇,真不敢相信我没看到那个。简单易懂。谢谢! - Ben Davis
1
这太棒了! - Tarek Dakhran
1
我想这种方法的缺点是在使用 vit 时,它仍会选择开标签本身(而你真正想要的是内部内容)。 - Ben Davis
@BenDavis 这取决于你的 HTML 是什么样子。 - Kent
3
或者...你可以从行模式开始:VatvatV 是等价的(除了在一行上有多个标记的奇怪嵌套情况下,行模式就不太合适了),但是Vat更短 :) - Amadan

3
首先,你需要安装 matchit 插件,它为 % 提供了扩展功能。特别是,它允许使用 % 在匹配的 HTML 标签之间跳转。
然后,在开放的 HTML 标签上放置光标(在标签的第一个字母上,而不是 < 符号),然后按下 Shift + v,接着按下 %
这将从你放置光标的行开始选取整个行到包含闭合标签的行。

1
我尝试过这个(我已经使用Vundle安装了matchit),但是当我按下<kbd>%</kbd>时,它只是在开放和关闭括号(<>)之间跳转。 - Ben Davis
1
在标签内导航,如果安装了 matchit 插件,则可以跳转到闭合标签。我的意思是,如果你有标签 <sometag>,将光标放在字母 s 上。 - Tarek Dakhran

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