在过去的几天里,我一直在强迫自己从 Textmate 切换到 Vim。在大多数情况下,经过一些繁重的 Vim 配置后,我的效率几乎相同。我的工作流程的一个方面我没有找到替代品,就是将文件拖放到 Textmate 中,其中图像将被转换为 img 标签,文件将被转换为 require 调用。
如何动态构建图像标签和 include/require 语句?
在过去的几天里,我一直在强迫自己从 Textmate 切换到 Vim。在大多数情况下,经过一些繁重的 Vim 配置后,我的效率几乎相同。我的工作流程的一个方面我没有找到替代品,就是将文件拖放到 Textmate 中,其中图像将被转换为 img 标签,文件将被转换为 require 调用。
如何动态构建图像标签和 include/require 语句?
<img>自从切换以来,我一直在考虑那个自动构建。
Vim 为部分问题提供了一个内置的解决方案:omni-completion 引擎允许你完成你想要包含的文件的路径。
如果你开始输入一个“类似路径”的字符串——比如说<img src="images/——点击<C-x><C-f>可能完成的小列表。再加上像 ACP 和 snipMate 这样的自动完成插件,这个过程真的很快。
但这对widthand完全没有帮助height。
一种可能的解决方案是将 snipMate 用于<img>片段,<C-x><C-f>用于图像的路径,捕获路径并将其提供给某些命令行实用程序,并用其输出填充widthand属性。height
编辑
事实证明,其他人已经探索了类似的道路,这个脚本很有趣,但它不适用于包含空格的文件路径。这是一个稍微修改过的版本,效果相当好。这另一个似乎很酷,但它缺少一个关键部分。
结束编辑
另一个编辑
我已将此片段添加到~/.vim/bundle/snipMate/snippets/html.snippets(注意之前的缩进$是 a <Tab>):
snippet img custom
${1:`HTML_insertImg()`}
效果很好,但在输出之前HTML_insertImg()加上0这样的:
0<img src="future_timeline.png" width="612" height="6370" alt="" />
不过这0有点问题。该系统显然并不完美,但是一旦我摆脱了这种唠叨0,它将非常适合我基于 snipMate 的其余过程。
结束另一个编辑
加长 12" 重新编辑版本
和:
identify~/.vim/plugins/~/.vim/nerdtree_plugin你可以:
b一个几乎完整的标签<img src="imagename.jpg" width="128" height="256" alt="" />:IMG<CR>几乎完整的标签<img src="imagename.jpg" width="128" height="256" alt="" />:IMG path/to/file.jpg以将几乎完整的<img src="imagename.jpg" width="128" height="256" alt="" />标签粘贴到当前窗口中的光标位置snipMate 解决方案现在还没有真正出炉。
感谢 Petr Mach 和@Matteo Riva实际完成了大部分工作。
是的,我显然不是 Vim 专家。
结束扩展 12" 重新编辑版本