Vim前端开发神器--Emmet(html编辑插件)

news/2024/7/21 14:15:03 标签: emmet, vim, html, 插件
htmledit_views"> 安装步骤
1.下载
  git clone https://github.com/boydos/html" title=emmet>emmet-html" title=vim>vim.git
2.配置
  cd html" title=emmet>emmet-html" title=vim>vim
  cp plugin/html" title=emmet>emmet.html" title=vim>vim ~/.html" title=vim>vim/plugin/
  cp autoload/html" title=emmet>emmet.html" title=vim>vim ~/.html" title=vim>vim/autoload/
  cp -a autoload/html" title=emmet>emmet ~/.html" title=vim>vim/autoload/
3.重启终端
4.测试
  html" title=vim>vim index.html
  输入 html:5

  然后用快捷建 ctrl+y+,

5.效果

<!DOCTYPE HTML>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title></title>
</head>
<body>
	_
</body>
</html>

嵌套操作符
使用 > 生成元素子节点

<!-- div>ul>li -->
<div>
    <ul>
        <li></li>
    </ul>
</div>


使用 + 生成元素兄弟节点
<!-- div+p+bq -->
<div></div>
<p></p>
<blockquote></blockquote>

操作符 ^ 的作用和 > 刚好相反
用 ^ 可以在父级生成新的节点
<!-- div+div>p>span+em^bq -->
<div></div>
<div>
    <p><span></span><em></em></p>
    <blockquote></blockquote>
</div>

用n个 ^ ,就可以在第n父级生成新的节点
<!-- div+div>p>span+em^^^bq -->
<div></div>
<div>
    <p><span></span><em></em></p>
</div>
<blockquote></blockquote>


使用 * 生成多个相同元素
<!-- ul>li*5 -->
<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>


圆括号 () 是Emmet的高级用法,用来实现比较复杂的DOM结构
<!-- div>(header>ul>li*2>a)+footer>p -->
<div>
    <header>
        <ul>
            <li><a href=""></a></li>
            <li><a href=""></a></li>
        </ul>
    </header>
    <footer>
        <p></p>
    </footer>
</div>


还可以嵌套使用圆括号 ()
<!-- (div>dl>(dt+dd)*3)+footer>p -->
<div>
    <dl>
        <dt></dt>
        <dd></dd>
        <dt></dt>
        <dd></dd>
        <dt></dt>
        <dd></dd>
    </dl>
</div>
<footer>
    <p></p>
</footer>


属性操作
Emmet给元素添加ID和CLASS的方法和CSS的语法类似
<!-- div#header+div.page+div#footer.class1.class2.class3 -->
<div id="header"></div>
<div class="page"></div>
<div id="footer" class="class1 class2 class3"></div>

使用[attr]标记来添加自定义属性
<!-- td[title="Hello world!" colspan=3] -->
<td title="Hello world!" colspan="3"></td>
使用 $ 操作符可以对重复元素进行有序编号
<!-- ul>li.item$*5 -->
<ul>
    <li class="item1"></li>
    <li class="item2"></li>
    <li class="item3"></li>
    <li class="item4"></li>
    <li class="item5"></li>
</ul>

还可以用多个 $ 定义编号的格式
<!-- ul>li.item$$$*5 -->
<ul>
    <li class="item001"></li>
    <li class="item002"></li>
    <li class="item003"></li>
    <li class="item004"></li>
    <li class="item005"></li>
</ul>

使用 @ 修饰符可以改变编号的格式
在 $ 后面添加 @- 可以改变编号顺序
<!-- ul>li.item$@-*5 -->
<ul>
    <li class="item5"></li>
    <li class="item4"></li>
    <li class="item3"></li>
    <li class="item2"></li>
    <li class="item1"></li>
</ul>

在 $ 后面添加 @N 可以改变编号基数
<!-- ul>li.item$@3*5 -->
<ul>
    <li class="item3"></li>
    <li class="item4"></li>
    <li class="item5"></li>
    <li class="item6"></li>
    <li class="item7"></li>
</ul>

还可以组合使用上面的修饰符
<!-- ul>li.item$@-3*5 -->
<ul>
    <li class="item7"></li>
    <li class="item6"></li>
    <li class="item5"></li>
    <li class="item4"></li>
    <li class="item3"></li>
</ul>


文本操作
Emmet使用 Text:{} 给元素添加文本内容
a{Click me}--><a href="">Click me</a>
<!-- a{click}+b{here} -->
<a href="">click</a><b>here</b>
<!-- a>{click}+b{here} -->
<a href="">click<b>here</b></a>
<!-- p>{Click }+a{here}+{ to continue} -->

<p>Click <a href="">here</a> to continue</p>


其他例子

<!-- #page>div.logo+ul#navigation>li*5>a{Item $} -->
<div id="page">
    <div class="logo"></div>
    <ul id="navigation">
        <li><a href="">Item 1</a></li>
     <li><a href="">Item 2</a></li>
        <li><a href="">Item 3</a></li>
        <li><a href="">Item 4</a></li>
        <li><a href="">Item 5</a></li>
    </ul>
</div>

Emmet没有预设任何标签名,所以可以使用任何可用名称来生成HTML标签:div → <div></div> 或 foo → <foo></foo>

其他常用快捷键:

<ctrl-y>,    展开简写式
<ctrl-y>d    Balance a Tag Inward(选中包围的标签?)
<ctrl-y>D    Balance a Tag Outward
<ctrl-y>n    进入下个编辑点
<ctrl-y>N    进入上个编辑点
<ctrl-y>i    更新<img>图像尺寸
<ctrl-y>m    合并文本行
<ctrl-y>k    删除标签
<ctrl-y>j    分解/展开空标签
<ctrl-y>/    注释开关
<ctrl-y>a    从URL生成anchor标签
<ctrl-y>A    从URL生成引用文本


http://www.niftyadmin.cn/n/1218062.html

相关文章

四、shell中``和$()、$(())、${}、[]和[[]]使用

和$()的区别:在 bash shell 中&#xff0c;$()与(反引号Esc键下面那个键) 都是用来做命令替换用(command substitution)的。举个例子&#xff1a;echo the last sunday is $(date -d "last sunday" %Y-%m-%d),执行里面的命令,在执行echo他们两个的区别在于须要额外的…

微软Hololens学院教程-Hologram 210 Gaze(凝视)【微软教程已经更新,本文是老版本】...

这是老版本的教程&#xff0c;为了不耽误大家的时间&#xff0c;请直接看原文&#xff0c;本文仅供参考哦&#xff01;原文链接&#xff1a;https://developer.microsoft.com/EN-US/WINDOWS/HOLOGRAPHIC/holograms_210 Hololens的使用如果类比到计算机的使用&#xff0c;在输入…

vim常用设置---(.vimrc详细配置)

.vimrc配置文件内容如下: """"""""""""""""""""""""""""""""""""""&quo…

五、java中输出shell文件到本地

package com.ksy.fw.base.util;import java.io.File; import java.io.FileOutputStream;import org.apache.http.util.TextUtils;/*** 获取shell脚本工具类* author lenovo**/ public class ShellUtils {/*** 获取shell的String* param tomcatName tomcat信息* param pathName …

Java求最大公约数和最小公倍数

int n, m n 0; System.out.println("输入整数m,n"); Scanner scanner new Scanner(System.in); if (scanner.hasNextInt()) {m scanner.nextInt(); }if (scanner.hasNextInt()) {n scanner.nextInt(); }System.out.println(String.format("m%d, n%d",…

六、java远程调用linux命令或者shell脚本

1.首先导入maven依赖jar包 <!-- https://mvnrepository.com/artifact/ch.ethz.ganymed/ganymed-ssh2 --><dependency><groupId>ch.ethz.ganymed</groupId><artifactId>ganymed-ssh2</artifactId><version>build210</version>&…

Java高级面试问题

1大型网站如何优化&#xff0c;如何提高访问速度 &#xff12;缓存设置原则 &#xff13;分布式事务介绍 &#xff14;减库存操作如何保证重复消费问题 &#xff15;B2B,B2C,C2C模式的区别 &#xff16;线程池优化 &#xff17;缓存和数据库之间如何保证一致性&#xff1f;就是…

七、java调用ssh往远程linux上传文件

原文地址&#xff0c;转载请注明出处&#xff1a; http://blog.csdn.net/qq_34021712/article/details/66972672 ©王赛超 1.导入maven依赖jar包 <!-- https://mvnrepository.com/artifact/com.jcraft/jsch --><dependency><groupId>com.jcraft&l…