在过去的几天里,我一直在强迫自己从 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 这样的自动完成插件,这个过程真的很快。
但这对width
and完全没有帮助height
。
一种可能的解决方案是将 snipMate 用于<img>
片段,<C-x><C-f>
用于图像的路径,捕获路径并将其提供给某些命令行实用程序,并用其输出填充width
and属性。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" 重新编辑版本