最近在做一个项目,涉及到大量的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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com