最近在做一个项目,涉及到大量的HTML、CSS代码的编写,手动写代码效率实在 是低下。于是想搜索一下,有没有Notepad++插件可以支持自动生成的,果不其然还真有。Emmet,这款神器其实就是 Zen Coding 的升级版,它可以极大的提高代码编写的效率,并提供了一种非常简练的语法规则,立刻生成对应的 HTML 结构或者 CSS 代码,同时还有多种实用的功能帮助进行前端开发。
  Emmet支持多种编辑器,如Sublime Text 2,TextMate 1.x,Eclipse/Aptana,Espresso,Notepad++等。我习惯于在Notepad++下写代码,因此本文记述的是如何在Notepad++下安装和使用。

1、下载Emmet和Python Script
Emmet需要 Python Script 的支持,因此这两款插件必须同时安装才能使用。
详见:https://github.com/emmetio/npp

下载地址:
PythonScript_full_0.9.2.0

Emmet的Notepad++插件

2、安装
Emmet的安装比较简单,下载完解压后复制到Notepad++安装目录的plugins下即可。
Python Script的安装则稍稍复杂,我走了一些弯路后才搞定。一开始以为将解压后的文件扔到plugins下就行了,但启动Notepad++时总是报错。
于是我打开 Python Script 的帮助文件,看了一遍安装手册才搞明白。
下载完PythonScript_full_0.9.2.0.zip后解压,将python27.dll文件复制到Notepad++安装目录的根目录下,同时在plugins文件夹中的全部内容复制到Notepad++安装目录的plugins下。
为表达清楚,摘录Python Script 的目录结构如下:

Notepad++ (Notepad++ 安装主目录,一般位于"C:\Program Files"下)
+
|-- python27.dll(放在Notepad++ 安装主目录下,和notepad++.exe属于同一目录)
+-- plugins
\
|-- PythonScript.dll
|
|-- PythonScript
| \
| |-- lib
| | \
| | |-- (*.py) 很多 *.py 文件和子目录
| |
| |-- scripts
| \
| |-- (脚本和一些示例)
|
|
|-- doc
| \
| |-- PythonScript
| \
| |-- PythonScript.chm(PythonScript帮助文档,英文版)

3、Emmet的工作流程
安装完Emmet后,强烈建议更改 Expand Abbreviation 的键盘快捷键为Tab键。
打开Notepad++Settings > Shortcut Mapper…对话框,切换到 plugin commands,选中 Expand Abbreviation 项,

(Expand Abbreviation(Ctrl+E):展开缩写  用法:输入缩写代码后,在代码末尾直接按快捷键得到完整代码。)

修改其快捷键为Tab键即可。

然后,就可以按照 Emmet 的工作流程来干活了:
打开 HTML 或 CSS 文件->按语法编写指令->按下 TAB 键->生成!

4、Emmet的使用教程

Expand Abbreviation(Ctrl+E):展开缩写

用法:输入缩写代码后,在代码末尾直接按快捷键得到完整代码。

Wrap with Abbreviation(Ctrl+Shift+A):嵌套父级元素

用法:选中需要嵌套父级元素的标签,按快捷键,在弹出的对话框中输入父级标签回车即可。例:

1
2
3
4
5
list1
list2
list3
list4
list5

选中以上内容,然后按【Ctrl+Shift+A】在弹出的对话框中输入ul.nav>li.item-$*>a[title]后按【Enter】键,就会生成如下代码

1
2
3
4
5
6
7
<ul class="nav">
    <li class="item-1"><a href="" title="">list1</a></li>
    <li class="item-2"><a href="" title="">list2</a></li>
    <li class="item-3"><a href="" title="">list3</a></li>
    <li class="item-4"><a href="" title="">list4</a></li>
    <li class="item-5"><a href="" title="">list5</a></li>
</ul>

Balance TagInward/Outward(Ctrl+Shift+D):选中代码块

选中当前光标所在的标记,再次按下可以依次选中其父标签。

Go to Next/Previous Edit Point( Ctrl+Alt+]  / Ctrl+Alt+[ ):转到下一个/上一个编辑点

Merge Lines(Ctrl+Alt+M):合并行

将选中的多行代码合并为一行。压缩css、js代码为一行时,这个很方便。Ctrl+A,然后Ctrl+Alt+M,两下即可搞定,免去了动用压缩工具的麻烦。(当然这个只是简单地将代码合并为一行,并不能做更深入的代码压缩)

Toggle Comment(Alt+/):添加、移除注释

注释掉光标所在的代码块 (Notepad++ 自带的Ctrl+Shift+Q也可以用来注释代码)

Split/Join Tag(Ctrl+’ ):空标签转化

比如将 <div></div> 转化为 <div/>, 反向亦可。

Remove Tag(Ctrl+Shift+’ ):移除标签

比如将 <div>hello world</div> 移除div标签,留下hello world。

zen-coding常用缩写

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
html:4t (HTML 4.01 Transitional)
html:4s (HTML 4.01)
html:xt (XHTML 1.0)
html:xs (XHTML 1.0 Strict)
html:xxs (XHTML 1.1)
html:5 (HTML5)
  
meta:utf, meta:compat
style, link:css, link:print, link:favicon, link:rss,
script, script:src
  
div, p, a, ul, ol, input:t, input:r
  
ol+, dl+, table+, tr+, select+, map+, optg+
  
cc:ie6, cc:ie, cc:noie

可以打开C:\Program Files\Notepad++\plugins\EmmetNPP\emmet\snippets.json这个json文件看一看,熟悉EmmetNPP自带的一些缩写规则。

参考链接

最新文章

  1. 【转载】如何破解受保护的excel密码
  2. JS 正则表达式详解
  3. Python成长笔记 - 基础篇 (五)
  4. leetcode 104 Maximum Depth of Binary Tree ----- java
  5. 【Android】Intent的使用-返回数据给上一个活动
  6. 嵌入式linux内核制作
  7. android 根据网络来获取外网ip地址及国家,地区的接口
  8. Java中volatile的作用以及用法
  9. 分辨率验证工具 - 【Window Resizer】的使用 - Google扩展工具
  10. Redis之父表示ARM服务器没戏!
  11. Java基础(二)面向对象(上)
  12. weka源代码-总述
  13. 如何使用change命令改变密码的属性
  14. [TJOI2008]彩灯 线性基
  15. 将table导出为excel格式文件
  16. 安装git之后,桌面图标出现很多的蓝色问号
  17. __doPostBack 方法解析
  18. js获取某周、某月、下月、某季度的开始日期、结束日期及判断日期第几周
  19. makefile编写---:= ?= += =的区别
  20. git -- 忽略某个文件

热门文章

  1. 对四次挥手中的TIME_WAIT状态的学习
  2. 从c到cpp对static 关键字的总结 需要整理下!!!!!!!!!!!!!!!!!!!!!!
  3. RestTemplate中几种常见的请求方式
  4. [转]win系统下nodejs安装及环境配置
  5. oracle 11g 将非分区表转换为分区表在线重定义
  6. (转)AIX下的MPIO、RDAC、SDDPCM多路径软件操作 (AIX下的MPIO,查看AIX下hdisk与盘柜卷lun的对应关系)
  7. fastjson的json字符串转List
  8. 保护REST API/Web服务的最佳实践
  9. MongoDB Windows环境搭建
  10. Windows窗体应用开发1