web vim ctrl+y ,

在 Vim 中 使用 zencoding 插件快速编写 html 代码

安装

下载 zencoding的Vim插件并解压后, 可以得到三个文件夹.
你只需要将这三个文件夹拷贝到 ~/.vim 目录, 与已有文件夹合并即可. (Windows 上是 …/Program Files/Vim/vimfiles 文件夹.)
这样安装就完成了.

基本标签补全

zencoding 的基本功能是可以补全所有的 html 标签. 注意它工作在插入模式下.
例如, 你用 Vim 打开某个 html 文件, 进入插入模式, 并且输入标签 p.
当你快速按下 “Ctrl+y+,” 之后(注意最后是个逗号), 标签就会被补全为:

<p></p>

其它的标签, 如 html, body, div, span, h1等等, 操作都一样.
需要注意的是, 我在实际使用中发现, 按下 Ctrl+y+, 的速度要快. 如果中间有停顿, 得到的结果就会是输入一个逗号而已.

使用 +

很多 html 标签是一起出现的, 例如, ul 下必定有 li.
你可以输入 ul+ , 补全后就可以得到:

<ul><li></li></ul>

类似的还有 ol+dl+table+tr+map+select+optg+. 你可以亲自试一试.

用标签包裹代码

假如你有如下一段文字:

line line line line

你希望用 ‘code’ 标签将他们包裹起来, 只需要进入行选模式选中它们, 然后按下 Ctrl+y+,.
此时, Vim 下方的命令行会提示你输入 Tag. 你可以输入 code 然后回车, 就会得到:

<code>line line line line</code>

生成代码段

html

Web开发人员经常需要从头创建一个 html 文件, 这个过程是重复劳动. zencoding 可以帮你完成这件事.
例如, 当你输入 html:5 然后按下 Ctrl+y+, 你就会得到如下内容:

<!DOCTYPE HTML><htmllang="en"><head><metacharset="UTF-8"><title></title></head><body></body></html>

有人可能奇怪为什么要写 html:5 ? 直接写 html 不是更方便?
因为 html 也是基本标签, 如果你只写 html, 补全后得到的结果是:

<html></html>

事实上, 后面的 “:5″ 你可以认为是 html 的版本, 你还可以写 html:xmlhtml:4html:4shtml:xt,html:xshtml:xxs.
这比前面的简单标签补全更高级一些, 它更像是带名称的代码片段.
例如, 输入 html:4t 补全后得到的内容是:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><htmllang="en"><head><metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"><title></title></head><body></body></html>

link

除了 html 标签之外, 其它一些标签也能生成代码片段. 例如 link:
“link:css”:

<linkmedia="all"rel="stylesheet"href="style.css"type="text/css"/>

“link:rss”:

<linkrel="alternate"href="rss.xml"type="application/rss+xml"title="RSS"/>

link 后的类型还可以是 atomfaviconprinttouch 等.

input

在表单里, 经常要用到各种类型的 input. 例如:

input:text, ‘inout,t’:

<inputid=""name=""type="text"/>

除此意外还有 form:getform:post 等等.

Ctrl+y+/ 注释代码

相信不少人都觉得在 html 中注释代码挺费劲的. zencoding 同样可以帮到你. 假如你有如下代码块:

<div> hello world </div>

你把光标移动到 div 标签上, 然后按下 Ctrl+y+/ , 代码会变为:

<!-- <div> hello world </div> -->

再次按下, 则会取消注释.

Ctrl+y+a 生成链接

如果你将光标放在一个链接上, 例如 http://www.google.com, 然后按下 Ctrl+y+a , 你会得到:

<ahref="http://www.google.com">Google</a>

如果链接是 http://www.bing.com, 你会得到:

<ahref="http://www.bing.com">必应 Bing</a>

注意这其中的 “Google” , “必应 Bing” 这部分是自动添加的, 很智能吧.
很可能是通过访问该url并获取title得到的.

Ctrl+y+i 获取图片大小

假如你有如下图片:

<imgsrc="foo.png"/>

光标移动到img标签上,按下 ctrl + y + i , zencoding 会自动获取 foo.png 的大小并插入宽高属性.
看起来像这个样子:

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

由于浏览器都要求 img 标签需要设定宽度和高度, 这个功能不仅省去了不少输入, 还避免了你打开图片查看大小然后又切换回来的过程, 还是非常贴心的.

更强大的 CSS 选择器语法

输入 ul>li*3 并 ‘Ctrl+y+,’ 补全后, 你会得到:

<ul><li></li><li></li><li></li></ul>

你还可以指定各标签的id 和 class. 例如 ul#id_ul>li.item#id_li_$*3:

<ulid="id_ul"><liid="id_li_1"class="item"></li><liid="id_li_2"class="item"></li><liid="id_li_3"class="item"></li></ul>

你还可以通过 + 号同时创建多个标签. 例如输入 ul#ul_id>li#li_id_$*3>p+a, 补全后得到:

<ulid="ul_id"><liid="li_id_1"><p></p><ahref=""></a></li><liid="li_id_2"><p></p><ahref=""></a></li><liid="li_id_3"><p></p><ahref=""></a></li></ul>

你也可以选中多行已有的文本,对他们进行操作. 假如你有如下几行文本:

line line line line

选中后, 按下 Ctrl+y+,, 下方的命令行会提示你输入 Tag.
你可以输入 ul>li* 并回车, 就会得到:

<ul><li>line</li><li>line</li><li>line</li><li>line</li></ul>

总之, 这种语法基本和CSS选择器一致, 你可以按需生成各种复杂的 html 代码结构.
当然, 这个已经是接近奇技淫巧一类了, 更多细节可参考官方文档.

你可能感兴趣的:(Web)