Emmet-vim 教程:提升HTML/CSS编写效率的Vim插件

Emmet-vim 教程:提升HTML/CSS编写效率的Vim插件

emmet-vim emmet for vim: http://emmet.io/ emmet-vim 项目地址: https://gitcode.com/gh_mirrors/em/emmet-vim

什么是Emmet-vim

Emmet-vim是Vim编辑器的一个强大插件,它通过简写语法大幅提升HTML和CSS的编写效率。该插件基于著名的Emmet工具(原Zen Coding),专为Vim用户优化,让开发者能够用极简的表达式快速生成复杂的HTML结构。

核心功能详解

1. 缩写展开功能

Emmet-vim最核心的功能是通过简写语法快速生成HTML结构。例如:

输入:div>p#foo$*3>a<c-y>,后会展开为:

<div>
    <p id="foo1">
        <a href=""></a>
    </p>
    <p id="foo2">
        <a href=""></a>
    </p>
    <p id="foo3">
        <a href=""></a>
    </p>
</div>

语法解析

  • > 表示子元素
  • # 表示ID属性
  • $ 表示自增数字
  • * 表示重复次数

2. 内容包裹功能

对于已有的文本内容,可以快速用HTML标签包裹:

  1. 选中多行文本
  2. <c-y>,
  3. 输入包裹结构如ul>li*
<ul>
    <li>test1</li>
    <li>test2</li>
    <li>test3</li>
</ul>

3. 标签范围操作

  • 向内选择标签范围<c-y>d
  • 向外选择标签范围<c-y>D

这对快速选择和操作嵌套标签特别有用。

4. 编辑点导航

在生成的HTML结构中快速跳转:

  • 下一个编辑点<c-y>n
  • 上一个编辑点<c-y>N

5. 图片尺寸自动添加

将光标放在img标签上,按<c-y>i会自动添加width和height属性:

<img src="foo.png" width="32" height="48" />

6. 行合并与拆分

  • 合并行:选中多个li标签后按<c-y>m
  • 标签拆分/合并<c-y>j可在单标签和双标签形式间切换

7. 标签删除

快速删除当前所在标签:<c-y>k

8. 注释切换

快速添加/移除注释:<c-y>/

9. URL转换

  • 转为链接<c-y>a将URL转为<a>标签
  • 转为引用块<c-y>A生成包含引用的完整blockquote结构

高级配置

Emmet-vim支持针对不同语言的定制配置。在vimrc中添加:

let g:user_emmet_settings = {
  \  'php' : {
  \    'extends' : 'html',
  \    'filters' : 'c',
  \  },
  \  'xml' : {
  \    'extends' : 'html',
  \  },
  \  'haml' : {
  \    'extends' : 'html',
  \  },
  \}

使用建议

  1. 从简单开始:先掌握基本缩写语法,如div>ul>li*5
  2. 多用包裹功能:对已有内容快速添加HTML结构
  3. 善用导航:使用<c-y>n/N在生成的结构中快速移动
  4. 组合使用:结合Vim的多光标编辑功能,效率更高

Emmet-vim将极大提升前端开发者在Vim中的工作效率,特别是对于需要频繁编写HTML/CSS的开发者。通过简短的缩写就能生成复杂的结构,让开发者可以更专注于内容而非重复的标签输入。

emmet-vim emmet for vim: http://emmet.io/ emmet-vim 项目地址: https://gitcode.com/gh_mirrors/em/emmet-vim

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孔秋宗Mora

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值