编写好HTML和CSS代码时,我们也需要修改或添加一些内容,Emmet提供了很多非常独特的工具,可以大大提高编辑体验,下面我们挑选几个常用的功能来介绍。

萨龙龙发现在sublime text中安装的Emmet插件的快捷键与官方的演示文档中提供的快捷键不一样,这时我们就要修改Emmet快捷键或者查找在sublime text中的Emmet快捷键。

修改快捷键,打开PreFerences——Package Settings——Emmet中进行修改,只查看快捷键,比如:Match Tag Pair快捷键,打开工具中的命令面板ctrl+shift+p,输入:match就可以查看到。

本文的使用到的快捷键与官方演示中的快捷键一样。

1、展开缩写(Expand Abbreviation)Demo

这个功能在一开始介绍Emmet时就已经介绍,这是Emmet最核心的功能。

2、生成测试文本Lorem IpsumDemo

在编写HTML代码时,有时需要添加一些内容,Emmet提供了一段随机的看不懂的英文字段,作为测试数据我们就可以调用。而生成Lorem Ipsum文本也非常简单,输入lorem,按Tab键,就可以生成下面这段文字:

  1. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Velit, non, minima, voluptas ducimus
  2. voluptatem perspiciatis id delectus maiores saepe porro aliquam sunt pariatur eaque. Enim,
  3. voluptatem nesciunt voluptate ad veritatis.

Emmet的lorem这一功能不仅仅只为生成一段文本,使用lorem默认生成30个单词的文本,可以为它指定单词的数量来随机生成一大段文本。

3、如果要生成标题呢,只需减少单词的数量,比如:lorem4将生成下面的标题:

  1. Lorem ipsum dolor sit.

上面的例子只是生成单独的测试文本,与HTML标签一起编写也很简单,就像Emmet快速编写HTML代码文章中生成父子关系的代码一样:

  1. h2>lorem4

将生成:

  1. <h2>Lorem ipsum dolor sit.</h2>
  1. p*4>lorem4

将生成:

  1. <p>Lorem ipsum dolor sit.</p>
  2. <p>Dolores, similique veritatis reprehenderit.</p>
  3. <p>Cupiditate repudiandae numquam earum.</p>
  4. <p>Atque, sequi autem praesentium?</p>

所以lorem为我们提供了强大的测试数据,提高了编写HTML代码的速度,让我们专心编写代码。

4、扩展缩写(Wrap with Abbreviation)Demo

一个非常强大的功能,在当前HTML代码的基础上添加缩写,将向外扩展代码,比如这段代码,光标在p标签上或者外部:

  1. <div id="page">
  2. <p>Hello world</p>
  3. </div>

再按shift+ctrl+g,弹出:Enter Wrap Abbreviation(输入扩展缩写),在其中输入:

  1. .wrapper>h1{Title}+.content

将得到:

  1. <div id="page">
  2. <div class="wrapper">
  3. <h1>Title</h1>
  4. <div class="content">
  5. <p>Hello world</p>
  6. </div>
  7. </div>
  8. </div>

5、把文本转换成HTML标签

当客户给我们提供了一个文本文档,把标题复制过来,比如:

  1. 首页
  2. 公司简介
  3. 公司动态
  4. 关于我们
  5. 联系我们

转换成导航,选择文本,再按shift+ctrl+g,弹出:Enter Wrap Abbreviation(输入扩展缩写),在其中输入:

  1. nav>ul.nav>li.nav-item$*>a

将得到:

  1. <nav>
  2. <ul class="nav">
  3. <li class="nav-item1"><a href="">首页</a></li>
  4. <li class="nav-item2"><a href="">公司简介</a></li>
  5. <li class="nav-item3"><a href="">公司动态</a></li>
  6. <li class="nav-item4"><a href="">关于我们</a></li>
  7. <li class="nav-item5"><a href="">联系我们</a></li>
  8. </ul>
  9. </nav>

注意,导航中有5个菜单,这里不需要在li标签后面使用*5,只需使用单独的操作符*就可以。

若要设置class="nav-item001",则用:

  1. nav>ul.nav>li.nav-item$$$*>a

6、删除文本中的列表标记

word文档中的文本很多都是列表块,比如:

  1. 1.首页
  2. 2.公司简介
  3. 3.公司动态
  4. 4.关于我们
  5. 5.联系我们

在编写HTML代码又不需要,Emmet让我们可以删除文本中的标记,在上一功能的缩写的基础代码的后面添加|t就可以删除文本中的标记:

  1. nav>ul.nav>li.nav-item$*>a|t

最终得到的HTML代码与上面的效果是一样的,你可以试试!

7、控制文本的输出位置

默认情况下,用Emmet把文本转换为HTML代码时,使用$#操作符Emmet可以将文本输出到多个元素中,而$#平上Emmet缩写语法中的一部分,所以得将$#放在属性值[]或文本{}操作符中。

以上面的导航文本为例,在Enter Wrap Abbreviation中输入:

  1. ul>li[title=$#]*>{$#}+img[alt=$#]

将得到:

  1. <ul>
  2. <li title="首页">首页<img src="" alt="首页"></li>
  3. <li title="公司简介">公司简介<img src="" alt="公司简介"></li>
  4. <li title="公司动态">公司动态<img src="" alt="公司动态"></li>
  5. <li title="关于我们">关于我们<img src="" alt="关于我们"></li>
  6. <li title="联系我们">联系我们<img src="" alt="联系我们"></li>
  7. </ul>

8、分解与添加标签(Split/Join Tag)Demo

光标在标签上时,按ctrl+j,可以将标签:

  1. <div></div>

转换为

  1. <div />

标签,反之亦然。当div中有内容时,使用这一功能一样会转换成上一标签,其中的内容也将删除,所以使用的时候我们也需要注意。

9、映射CSS属性值(Reflect CSS Value)Demo

为了浏览器的兼容性,CSS样式中有很多带有属性值的前缀样式,如果修改值,需要修改好几个处,比如:

  1. div {
  2. padding: 10px;
  3. -webkit-transform: rotate(50deg);
  4. -moz-transform: rotate(50deg);
  5. -ms-transform: rotate(50deg);
  6. -o-transform: rotate(50deg);
  7. transform: rotate(50deg);
  8. opacity: 0.7;
  9. filter: alpha(opacity=70);
  10. }

在Emmet中我们只需修改旋转属性值的其中一个,再按ctrl+shift+r快捷键,其它相关的属性值也相应的改变。

10、选择匹配标签(Match Tag Pair)Demo

在我们编写HTML代码时,需要选择开始标签到闭合标签中的代码,一般我们就用鼠标框选,虽然不是太麻烦,但Emmet为我们提供了更加方便、快捷的功能,扩大与缩少选择。

在鼠标光标处按快捷键ctrl+d,将会选择光标所在标签范围内的所有内容,多次运行将扩大选择。有扩大就有缩小,快捷键:crtl+shift+d,多次运行将缩小选择范围。

11、转到匹配的标签(Go to Matching Pair)Demo

在开始标签与闭合标签中跳转,快捷键:ctrl+t。在编写大型HTML文件时,总是找不到匹配的闭合标签,Emmet提供的这一功能就可以方便的为我们在开始与闭合标签中轻松地跳转。

12、跳转到文本编辑点(Go to Edit Point)Demo

这个功能适合在标记之间、空属性和空的文章标签中进行上下跳转,比如title、a、li、href、src等等需要输入内容的标题中。上一个,下一个编辑点快捷键分别为ctrl+alt+leftctrl+alt+right

13、添加与删除注释(Toggle Comment)Demo

之前在添加注释时都是一个符号一个的敲出来的,真有点辛苦,也很烦。Emmet提供的注释开关功能太棒了,只需使用ctrl+/快捷键就可以添加与删除注释,不过其注释的范围是以行为单位,在HTML和CSS代码中都可以使用。

14、移除标签(Remove Tag)Demo

在一些大型的HTML代码中,有时标签嵌套的太多,通过Emmet移除标签这一功能,快速的移除多余的匹配的开始标签与闭合标签,快捷键:ctrl+shift+;(in windows)

15、更新图片大小(Update Image Size)Demo

很多时候在编写HTML代码中的img标题与CSS样式中的background-image时,需要知道图片的宽度与高度,总是在电脑中找到图片查看其尺寸,浪费时间又很不爽。而Emmet为我们提供这一功能,只需将光标移动到img或background-image标签上,按下ctrl+u(in windows),Emmet会自动读取图片的尺寸并添加。

前提是引用的图片地址正确且存在,而且路径中不能有中文,必需是英文字符,不然把键盘敲烂也不会有反应。

16、数字递增/递减(Increment/Decrement Number)Demo

数字递增/递减,可以以0.1、1和10三个值进行递增/递减,快捷键分别是:ctrl+up/downalt+up/downctrl+alt+up/down

17、数学计算表达式(Evaluate Math Expression)Demo

有了Emmet在HTML和CSS文件中都可以进行简单的数字运算,神奇了,输入4*8再按ctrl+shift+y,Emmet能给出最终的结果。

18、将图片编译成data:URL模式(Encode/Decode Image to data:URL)Demo

data:URL模式,是利用base64编码把图片数据翻译成标准ASCII字符,在本地直接绘制图片,不是从服务器加载,减小HTTP请求,从而提高网页的加载速度。

将图片转换成data:URL模式,Emmet为我们提供的最简便、快速的方法,将光标放在img或background-image标签的图片上,按ctrl+shift+b快捷键,完美的转换。

原文出至:http://yfdxs.com/emmet-advanced.html

参考:http://docs.emmet.io/actions/expand-abbreviation/

标红处做出了修改

emmet高级技巧的更多相关文章

  1. emmet,jade,haml, slim,less,sass,coffeescript等的实战优缺点

    摘要: 文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动. 随着前端技术的蓬勃发展, 各种新技术随着生产力的需要不断的涌入我们的视野, 那今天探讨的话题是这些新时代的前端兵器谱: 一. ...

  2. Javascript高级技巧

    上次整理了Ajax部分,这周看完了高级技巧部分,也整理下吧. 1.类型检测 使用Object.prototype.toString.call(obj)的方式. 因为无论typeof还是instance ...

  3. emmet 系列(1)基础语法

    emmet 系列(1)基础语法 emmet 是一个能显著提升开发html和css开发效率的web开发者工具 emmet基本上目前已知的编辑器都有相应的插件,各个编辑器的emmet插件的下载地址:点我下 ...

  4. 前端开发必备!Emmet使用手册

    介绍 Emmet (前身为 Zen Coding) 是一个能大幅度提高前端开发效率的一个工具: 基本上,大多数的文本编辑器都会允许你存储和重用一些代码块,我们称之为"片段".虽然片 ...

  5. emmet的使用

    http://blog.wpjam.com/m/emmet-grammar/ 使用 Emmet 生成 HTML 的语法详解 开源程序 浏览:21537 2013年05月09日 文章目录[隐藏] 生成 ...

  6. Sublime Text 3 Emmet插件安装

    一.手动安装:   1. Emmet (ex-Zen Coding) for Sublime Text  http://emmet.io (1) 下载:https://github.com/serge ...

  7. javascript实用技巧、javascript高级技巧

    字号+作者:H5之家 来源:H5之家 2016-10-31 11:00 我要评论( ) 三零网提供网络编程. JavaScript 的技术文章javascript实用技巧.javascript高级技巧 ...

  8. sublime Text 3 安装emmet

    Emmet简介 Emmet是一个支持大部分流行文本编辑器的插件,能够极大得提高编写HTML和CSS的工作效率. 官网:http://emmet.io/ 在Sublime Text 3中安装 前提Sub ...

  9. javascript中函数的3个高级技巧

    × 目录 [1]作用域安全 [2]惰性载入 [3]函数绑定 前面的话 函数对任何一门语言来说都是一个核心的概念,在javascript中更是如此.前面曾以深入理解函数系列的形式介绍了函数的相关内容,本 ...

随机推荐

  1. Android SQLite学习指南

    一.SQLite简介 在Android平台上,集成了一个嵌入式关系型数据库—SQLite,SQLite3支持 NULL.INTEGER.REAL(浮点数字).TEXT(字符串文本)和BLOB(二进制对 ...

  2. Java进阶07 嵌套类

    到现在为止,我们都是在Java文件中直接定义类.这样的类出现在包(package)的级别上.Java允许类的嵌套定义. 这里将讲解如何在一个类中嵌套定义另一个类. 嵌套 内部类 Java允许我们在类的 ...

  3. FEC之我见二

    前面简单说了一下FEC,以及它的配合使用的方法.下面我想详细说一下FEC算法: 曾经有位大神在帖子里这么写着:采用改进型的vandermonde矩阵RS算法.其优点算法运算复杂度更低且解决了利用矩阵构 ...

  4. myod中遇到的问题

    一.准备工作 首先在编程之前遇到的第一个问题就是要了解需要编出一个怎样的代码,了解od -tx -tc的具体意思,并观察其输出结果. -tc代表着输出ASCII字符,而-tx则是代表着输出ASCII字 ...

  5. bzoj 4631: 踩气球 线段树

    题目: Description 六一儿童节到了, SHUXK 被迫陪着M个熊孩子玩一个无聊的游戏:有N个盒子从左到右排成一排,第i个盒子里装着Ai个气球. SHUXK 要进行Q次操作,每次从某一个盒子 ...

  6. 系列文章--Node.js学习笔记系列

    Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- 简介及安装Node.js开发环境 Nodejs学习笔记(二)--- 事件模块 Nodejs学习笔记(三)--- 模块 Nodejs学 ...

  7. 关于Snoop的用法

    snoop是开发wpf应用程序的利器.用它可以观察WPF的可视树,监听事件,更改元素属性等. 下面我介绍下snoop一些用法. 1.获取指定应用程序的UI   打开snoop,选择"Drag ...

  8. 【转】 Pro Android学习笔记(二二):用户界面和控制(10):自定义Adapter

    目录(?)[-] 设计Adapter的布局 代码部分 Activity的代码 MyAdapter的代码数据源和构造函数 MyAdapter的代码实现自定义的adapter MyAdapter的代码继续 ...

  9. css动画和渐变

    变形: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 元素的变形:transform transform:none | <tra ...

  10. centos7 中文乱码解决方法

    centos7 中文乱码解决方法 标签(空格分隔): centos7 1.查看安装中文包: 查看系统是否安装中文语言包 (列出所有可用的公共语言环境的名称,包含有zh_CN) # locale -a ...