我想定期填充html属性之间的空格,以简化块模式下的编辑。
示例:
<p><input type="a" name="a" value="foo a"></p>
<p><input type="ab" name="ab" value="ab bar"></p>
<p><input type="abc" name="abc" value="baz abc"></p>
在视觉模式下选择三个输入并做一些魔术。
输出:
<p><input type="a" name="a" value="foo a" ></p>
<p><input type="ab" name="ab" value="ab bar" ></p>
<p><input type="abc" name="abc" value="baz abc"></p>
(最好不填写值之间的空格。)
我该怎么做?
编辑:回过头来(编辑后)也很不错。
答案 0 :(得分:2)
您可以使用Align plugin:
执行此操作:AlignCtrl mIp1P0=l
:Align \i\+=
或使用它构建映射:
map <unique> <SID>WS <Plug>AlignMapsWrapperStart
nmap <unique> <SID>WE <Plug>AlignMapsWrapperEnd
map <silent> <script> <Leader>aa <SID>WS:AlignCtrl mIp1P0=l<CR><CR>:'a,'zAlign \i\+\s*=<CR><SID>WE
另外还有Align的替代品,名为Tabularize。
答案 1 :(得分:1)
您可以使用外部工具,我使用astyle进行C / C ++编码,使其自动化我将以下内容插入〜/ .vimrc文件中:
if filereadable("/usr/bin/astyle")
silent! %!astyle
endif
如果符合您的需求,您可以搜索Tidy。
Obs。:带:%!您将所有代码传递给外部工具“!,进行特定选择”&lt;,'&gt;!应该使用。
现在您可以将快捷方式映射到此命令。
答案 2 :(得分:0)
您在阻止模式下进行了哪些编辑?可能有一种更简单的编辑方式。
以下是一个例子:
删除type =“*”:
说明:
我确实必须按照你描述的方式对齐一些特定情况,因为它是可读性的首选(通常不赞成)。我最终做了一个快速的黑客来完成工作。在您的情况下,它看起来像:
......等等
如果你只想删除一个列,你可以只将1个空格转换为多个,阻止选择包含每边一些空格的列,删除,并将许多空格转换回一个。
正如我之前所说,这种方法非常脆弱,只有在空格仅用于分隔列时才有可能。您可以考虑制作宏或尝试使用查找和替换来完成编辑任务,而不是使用块上的规范
答案 3 :(得分:0)