vim 更改具有不同文本位置的多行上的文本?

  • 本文关键字:文本 位置 vim vim replace
  • 更新时间 :
  • 英文 :


你如何在多行上更改结束标签内的文本? 开头很简单 - 我用 c-v 制作一个视觉块并更改它如何从行尾执行此操作?

<li><a href="#" class="text-white">Follow on Twitter</a></li>
<li><a href="#" class="text-white">Like on Facebook</a></li>
<li><a href="#" class="text-white">Email me</a></li>

作为一个文本编辑器(除了语法突出显示之外,它没有特别强大的文本结构模型,并且该信息几乎不用于编辑任务(,Vim 没有为此提供优雅而简单的解决方案。但是,有多种可能的方法:

替代

除非你有一些映射来设置它,否则要键入的内容很多,但非常通用:

:1,3substitute#</li>$#</div>#

一个技巧

当您具体询问视觉块模式时,您可以暂时右对齐文本以执行此操作:

:1,3right
" Use <C-v> to select the (now aligned) tags, and edit them.
:1,3left    " Or re-indent via 3==

使用插件帮助

vim-multiple-cursors 是在当前缓冲区中具有多个编辑位置的思想的最突出实现之一,这些位置将编辑并行应用于每个位置。通过其映射,您可以选择所有结束标签,然后将它们一起编辑(例如通过cdiv<Esc>(。

最新更新