<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Power by Result Search &#187; 技术资料</title>
	<atom:link href="http://www.result-search.com/sty/category/technology/feed" rel="self" type="application/rss+xml" />
	<link>http://www.result-search.com/sty</link>
	<description>Just another weblog</description>
	<lastBuildDate>Wed, 23 Jun 2010 03:12:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HTML 5一览</title>
		<link>http://www.result-search.com/sty/2010/06/04/html-5%e4%b8%80%e8%a7%88.html</link>
		<comments>http://www.result-search.com/sty/2010/06/04/html-5%e4%b8%80%e8%a7%88.html#comments</comments>
		<pubDate>Fri, 04 Jun 2010 03:46:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://www.result-search.com/sty/?p=1564</guid>
		<description><![CDATA[HTML 5可谓集万千宠爱于一身，各种高帽戴的不亦乐乎。当然，只要是值得讨论的事情，总有不同的声音。也有 一些人并不看好他，或者至少对HTML5没那么兴奋。
本文就收集整理一些有关HTML5的相关知识、热门评论和新闻动态，帮助你进一步的了解HTML。
什么是HTML 5？
HTML 5 的历史背景
HTML 5草案的前身名为Web Applications  1.0。于2004年被WHATWG提出，于2007年被W3C接纳，并成立了新的HTML工作团队。在2008年1月22日，第一份正式草案发 布。[1]WHATWG表示该规范是目前正在进行的工作，仍须多年的努力。wikipedia
WHATWG，这个HTML5背后的组织，用下面的话描述自己：“2004年由Apple，Mozilla基金会，Opera软件中的人员创建，他 们的矛头直指W3C直属的XHTML，认为HTML缺少乐趣，对现实世界的需求置之不理。这些组织中的有识之士决心改变这一切，所以超文本应用技术工作小 组  (WHATWG的英文全称)应运而生”。HTML5预计在2012年正式登上W3C候选标准的舞台。但是这并不意味着你到那时才能使用。一些技术已经成 熟，一些部分已经足够稳定，一些功能实现已经接近尾声，所以我们现在就可以体验它们的新特性了。 当前，市场正一步一步加速WHATWG项目的进程。via
注: W3C 日前宣布将从2009年底起终止同 XHTML 2 工作组的合约。
HTML 5的新标记
关于HTML5中对元素和标记的更新，我把它们划分为三部份:

HTML5结构元素: 新增了更具语义化的标签，比如&#60;header&#62;表 示页面的头部，&#60;footer&#62;表示底部，&#60;nav&#62;表 示一个链接导航集合等。这种标签将有利于搜索引擎的索引整理、小屏幕装置和视障人士使用。
HTML5 交互元素: 我们上面说过，HTML5的前身名是Web  Applications 1.0。所以HTML5当然不只是随便加几个标签，让代码结构更具语义化这么无聊。另外一些新增的元素，诸 如&#60;details&#62;,  &#60;datagrid&#62;等，可以实现控制数据和内容展示等交互能力。input元素的新属性：日期和时间，email,  url，可以轻松制造一个Webforms 2.0。
删除的HTML4元素:  HTML5删除了HTML4中纯粹用来显示效果的一些标记，比如&#60;font&#62;和&#60;center&#62;，因为它们已经被CSS取代。

看着上面的这些HTML5特性，就不禁让人想到XHTML，XHTML到底做了些什么呢？为什么近几年来，我们老爱跟HTML4划清界线，钟爱 XHTML？这有篇文章说的很好：XHTML 鼓励良好的代码习惯，所有标签都需要完整，严谨，XHTML  可以产生比 HTML 4 更干净的代码。也就是说，XHTML相对HTML4，就起到了一个更严格的约束作用，但事实上，用 HTML4也可以写出很干净的代码，用XHTML也有人把代码写得一团糟。
当然，我等鼠辈都是墙头草，还特喜欢落井下石。HTML5没热腾起来的时候，也没谁寒碜XHTML，更多的却是讨论要用Transitional还 是Strict。废话少，如果你想具体了解HTML新增的元素和属性标记，可以查看下面这些文章:

HTML 5简介
细谈HTML 5新增的元素
HTML 5新元素全接触

HTML的新API
除了原先的DOM接口，HTML5增加了更多样化的API。包含了设计师们需要的很多东西，本地的音频，视频支持，多栏布局工具， 离线数据库，本地的矢量图支持等等。
HTML 5的试验
HTML  5的标准还八字才有一撇呢，后面一撇还得慢慢描。但已经有诸多的先锋部队开始拥抱它了。很多主流浏览器的最新版本都已经开始支持HTML5中的部份特性， 除了IE。
如果你确实很迫不及待的也想做下技术先驱，下面的一些实例和资源可能会对你有用：


HTML [...]]]></description>
			<content:encoded><![CDATA[<p><strong>HTML 5可谓集万千宠爱于一身，各种高帽戴的不亦乐乎。</strong>当然，只要是值得讨论的事情，总有不同的声音。也有 一些人并不看好他，或者至少对HTML5没那么兴奋。</p>
<p>本文就收集整理一些有关HTML5的相关知识、热门评论和新闻动态，帮助你进一步的了解HTML。</p>
<h2>什么是HTML 5？</h2>
<h3>HTML 5 的历史背景</h3>
<p>HTML 5草案的前身名为Web Applications  1.0。于2004年被WHATWG提出，于2007年被W3C接纳，并成立了新的HTML工作团队。在2008年1月22日，第一份正式草案发 布。[1]WHATWG表示该规范是目前正在进行的工作，仍须多年的努力。<a href="http://proxiesite.info/browse.php?b=5&amp;u=Oi8vemgud2lraXBlZGlhLm9yZy93aWtpL0hUTUxfNQ%3D%3D">wikipedia</a></p>
<p>WHATWG，这个HTML5背后的组织，用下面的话描述自己：“2004年由Apple，Mozilla基金会，Opera软件中的人员创建，他 们的矛头直指W3C直属的XHTML，认为HTML缺少乐趣，对现实世界的需求置之不理。这些组织中的有识之士决心改变这一切，所以超文本应用技术工作小 组  (WHATWG的英文全称)应运而生”。HTML5预计在2012年正式登上W3C候选标准的舞台。但是这并不意味着你到那时才能使用。一些技术已经成 熟，一些部分已经足够稳定，一些功能实现已经接近尾声，所以我们现在就可以体验它们的新特性了。 当前，市场正一步一步加速WHATWG项目的进程。<a href="http://tech.it168.com/a2009/0819/638/000000638805.shtml">via</a></p>
<p><strong>注</strong>: W3C 日前宣布将<a href="http://www.w3.org/2009/06/xhtml-faq">从2009年底起终止同 XHTML 2 工作组的合约</a>。</p>
<h3>HTML 5的新标记</h3>
<p>关于HTML5中对元素和标记的更新，我把它们划分为三部份:</p>
<ol>
<li><strong>HTML5结构元素</strong>: 新增了更具语义化的标签，比如<strong>&lt;header&gt;</strong>表 示页面的头部，<strong>&lt;footer&gt;</strong>表示底部，<strong>&lt;nav&gt;</strong>表 示一个链接导航集合等。这种标签将有利于搜索引擎的索引整理、小屏幕装置和视障人士使用。</li>
<li><strong>HTML5 交互元素</strong>: 我们上面说过，<strong>HTML5的前身名是Web  Applications 1.0</strong>。所以HTML5当然不只是随便加几个标签，让代码结构更具语义化这么无聊。另外一些新增的元素，诸 如&lt;details&gt;,  &lt;datagrid&gt;等，可以实现控制数据和内容展示等交互能力。input元素的新属性：日期和时间，email,  url，可以轻松制造一个Webforms 2.0。</li>
<li><strong>删除的HTML4元素</strong>:  HTML5删除了HTML4中纯粹用来显示效果的一些标记，比如&lt;font&gt;和&lt;center&gt;，因为它们已经被<a href="http://paranimage.com/category/dede/css/">CSS</a>取代。</li>
</ol>
<p>看着上面的这些HTML5特性，就不禁让人想到XHTML，XHTML到底做了些什么呢？为什么近几年来，我们老爱跟HTML4划清界线，钟爱 XHTML？这<a href="http://www.comsharp.com/GetKnowledge/zh-CN/It_News_K828.aspx" target="_blank">有篇文章</a>说的很好：<strong>XHTML 鼓励良好的代码习惯，所有标签都需要完整，严谨，XHTML  可以产生比 HTML 4 更干净的代码</strong>。也就是说，XHTML相对HTML4，就起到了一个更严格的约束作用，但事实上，用 HTML4也可以写出很干净的代码，用XHTML也有人把代码写得一团糟。</p>
<p>当然，我等鼠辈都是墙头草，还特喜欢落井下石。HTML5没热腾起来的时候，也没谁寒碜XHTML，更多的却是讨论要用Transitional还 是Strict。废话少，如果你想具体了解HTML新增的元素和属性标记，可以查看下面这些文章:</p>
<ul>
<li><a href="http://www.xlnv.net/Article/HTML5/200905/589.html" target="_blank">HTML 5简介</a></li>
<li><a href="http://developer.51cto.com/art/200907/133462.htm" target="_blank">细谈HTML 5新增的元素</a></li>
<li><a href="http://webservices.ctocio.com.cn/wsare/269/8972269.shtml" target="_blank">HTML 5新元素全接触</a></li>
</ul>
<h3>HTML的新API</h3>
<p>除了原先的DOM接口，HTML5增加了更多样化的API。包含了设计师们需要的很多东西，<strong>本地的音频，视频支持，多栏布局工具， 离线数据库，本地的矢量图支持</strong>等等。</p>
<h2>HTML 5的试验</h2>
<p>HTML  5的标准还八字才有一撇呢，后面一撇还得慢慢描。但已经有诸多的先锋部队开始拥抱它了。很多主流浏览器的最新版本都已经开始支持HTML5中的部份特性， 除了IE。</p>
<p>如果你确实很迫不及待的也想做下技术先驱，下面的一些实例和资源可能会对你有用：</p>
<ul>
<li>
<h4><a href="http://html5doctor.com/html-5-reset-stylesheet/" target="_blank">HTML 5 Reset Stylesheet</a></h4>
<p>一份特别针对HTML 5所写的CSS样式重置。同时，<a href="http://html5doctor.com/" target="_blank">HTML5Doctor</a>这个网站是国外一个专门介绍和研究HTML5的网站。</li>
<li>
<h4><a href="http://labs.mozilla.com/blog/2009/02/introducing-bespin/" target="_blank">Bespin</a></h4>
<p>Mozilla Lab的一个项目，这是一个使用了html5技术的代码编辑器。</li>
<li>
<h4><a href="http://www.blueidea.com/tech/web/2009/6802.asp" target="_blank">如何在IE中使用HTML元素</a></h4>
</li>
<li>
<h4><a href="http://molly.com/html5/html5-0709.html" target="_blank">HTML  5 Features at a Glance</a></h4>
<p>一份HTML 5的浏览器兼容功能列表</li>
</ul>
<h2>HTML 5的争论</h2>
<p>关于HTML 5的争论多种多样，其中最大的争论点在于业界对<strong>HTML  5取代Flash、Silverlight这些RIA主力军</strong>。下面听听一些声音吧。</p>
<blockquote>
<h3>Opera称HTML5将使得Flash变得可有可无</h3>
<p>Opera首席执行官Jon von Tetzchner近日在接受采访时表示，下一代HTML语言将使得Adobe  Flash技术显得很多余，HTML 5的开放Web标准提供了除Flash之外的富媒体网络内容发布方法。</p>
<p>von Tetzchner表示，HTML  5处理富媒体的能力意味着Flash可有可无，“你可以用它实现大多数(Flash)现在做的事，从某种方面说，你可能不再需要Flash。”</p>
<p>von  Tetzchner补充说，这并不意味着Flash会消亡，“我喜欢Adobe，他们是一家非常棒的公司，我想Flash还会存在很长很长一段时间，但是  Web标准演变地越来越丰富是‘自然法则’，你可以选择使用Web标准也可以选择使用Flash(发布富媒体内容)。”</p></blockquote>
<blockquote>
<h3>编程大师Bruce Eckel不看好HTML5</h3>
<p>《Thinking In Java》和《Think in C++》的作者<a href="http://en.wikipedia.org/wiki/Bruce_Eckel">Bruce Eckel</a>最近在博客中评价了 在开发团队选择现有技术时<a href="http://www.artima.com/weblogs/viewpost.jsp?thread=264822">所需要掌握和了解 的知识资源体系</a>。 他指出web开发者花费了过多的精力来使CSS/HTML/<a href="http://paranimage.com/category/dede/javascript/">javascript</a>程序兼 容各种浏览器，非IT行业的公司不会有太多人手维护主页，这往往导  致他们无法考虑兼容问题，最终结果是主页只支持IE。即使等到HTML5发布，这种状况也未必能有所改变。对于一般公司而言，如果想兼容各种平台，最好的  解决方案是使用flash/flex。</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.result-search.com/sty/2010/06/04/html-5%e4%b8%80%e8%a7%88.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>关于xp 用cmd自动关机的问题</title>
		<link>http://www.result-search.com/sty/2010/05/14/%e5%85%b3%e4%ba%8exp-%e7%94%a8cmd%e8%87%aa%e5%8a%a8%e5%85%b3%e6%9c%ba%e7%9a%84%e9%97%ae%e9%a2%98.html</link>
		<comments>http://www.result-search.com/sty/2010/05/14/%e5%85%b3%e4%ba%8exp-%e7%94%a8cmd%e8%87%aa%e5%8a%a8%e5%85%b3%e6%9c%ba%e7%9a%84%e9%97%ae%e9%a2%98.html#comments</comments>
		<pubDate>Fri, 14 May 2010 01:47:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[技术资料]]></category>
		<category><![CDATA[自动关机]]></category>

		<guid isPermaLink="false">http://www.result-search.com/sty/?p=1558</guid>
		<description><![CDATA[是不是只需输入一次“at 23:00 shutdown -s”命令，以后每天都是
23：00自动关机了呢？？？？？
如果不是，那应该怎样输入能保证是每天到晚上11点就关机呢？？？ 
@ECHO off
TITLE  greaterthanme-实现定时关机、注销、重启、锁定等功能。
:start
CLS
COLOR 1f
rem 使用COLOR命令对控制台输出颜色进行更改
MODE con: COLS=41 LINES=18
rem MODE语句为设定窗体的宽和高
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set tm3=%time:~6,2%
ECHO %date% %tm1%点%tm2%分%tm3%秒
ECHO =========================================
ECHO 请选择要进行的操作，然后按回车
ECHO ———————————————
ECHO.
ECHO 1. 定时关机
ECHO 2. 倒计时关机
ECHO 3. 删除定时关机任务
ECHO 4. 查看任务状态
ECHO 5. 刷新当前时间
ECHO 6. 重新启动
ECHO 7. 锁定计算机
ECHO 8. 注销
ECHO 9. 退出
ECHO.
:cho
SET Choice=
SET /P Choice=选择:
rem 设定变量&#8221;Choice&#8221;为用户输入的字符
IF NOT &#8220;%Choice%&#8221;==&#8221;" SET Choice=%Choice:~0,1%
rem 如果输入大于1位,取第1位,比如输入132,则返回值为1
ECHO.
IF /I &#8220;%Choice%&#8221;==&#8221;1&#8243; GOTO SetHour
IF /I &#8220;%Choice%&#8221;==&#8221;2&#8243; [...]]]></description>
			<content:encoded><![CDATA[<p>是不是只需输入一次“at 23:00 shutdown -s”命令，以后每天都是<br />
23：00自动关机了呢？？？？？<br />
如果不是，那应该怎样输入能保证是每天到晚上11点就关机呢？？？ </p>
<p>@ECHO off<br />
TITLE  greaterthanme-实现定时关机、注销、重启、锁定等功能。<br />
:start<br />
CLS<br />
COLOR 1f<br />
rem 使用COLOR命令对控制台输出颜色进行更改<br />
MODE con: COLS=41 LINES=18<br />
rem MODE语句为设定窗体的宽和高<br />
set tm1=%time:~0,2%<br />
set tm2=%time:~3,2%<br />
set tm3=%time:~6,2%<br />
ECHO %date% %tm1%点%tm2%分%tm3%秒<br />
ECHO =========================================<br />
ECHO 请选择要进行的操作，然后按回车<br />
ECHO ———————————————<br />
ECHO.<br />
ECHO 1. 定时关机<br />
ECHO 2. 倒计时关机<br />
ECHO 3. 删除定时关机任务<br />
ECHO 4. 查看任务状态<br />
ECHO 5. 刷新当前时间<br />
ECHO 6. 重新启动<br />
ECHO 7. 锁定计算机<br />
ECHO 8. 注销<br />
ECHO 9. 退出<br />
ECHO.<br />
:cho<br />
SET Choice=<br />
SET /P Choice=选择:<br />
rem 设定变量&#8221;Choice&#8221;为用户输入的字符<br />
IF NOT &#8220;%Choice%&#8221;==&#8221;" SET Choice=%Choice:~0,1%<br />
rem 如果输入大于1位,取第1位,比如输入132,则返回值为1<br />
ECHO.<br />
IF /I &#8220;%Choice%&#8221;==&#8221;1&#8243; GOTO SetHour<br />
IF /I &#8220;%Choice%&#8221;==&#8221;2&#8243; GOTO outtime<br />
IF /I &#8220;%Choice%&#8221;==&#8221;3&#8243; GOTO delAt<br />
IF /I &#8220;%Choice%&#8221;==&#8221;4&#8243; GOTO view<br />
IF /I &#8220;%Choice%&#8221;==&#8221;5&#8243; GOTO start<br />
IF /I &#8220;%Choice%&#8221;==&#8221;6&#8243; GOTO restart<br />
IF /I &#8220;%Choice%&#8221;==&#8221;7&#8243; GOTO lock<br />
IF /I &#8220;%Choice%&#8221;==&#8221;8&#8243; GOTO logoff<br />
IF /I &#8220;%Choice%&#8221;==&#8221;9&#8243; GOTO end<br />
rem 为避免出现返回值为空或含空格而导致程序异常,需在变量外另加双引号<br />
rem 注意,IF语句需要双等于号<br />
rem 如果输入的字符不是以上数字,将返回重新输入<br />
ECHO 选择无效，请重新输入<br />
ECHO.<br />
GOTO cho<br />
:SetHour<br />
CLS<br />
ECHO.<br />
SET ask=<br />
SET /p ask=是否设定为每天执行关机命令(y/n):<br />
IF NOT &#8220;%ask%&#8221;==&#8221;" SET ask=%ask:~0,1%<br />
IF /I &#8220;%ask%&#8221;==&#8221;y&#8221; GOTO yes<br />
IF /I &#8220;%ask%&#8221;==&#8221;n&#8221; GOTO no<br />
GOTO SetHour<br />
:yes<br />
ECHO 请指定24小时制式时间,格式为 小时:分钟<br />
SET shutdowntime=<br />
SET /p shutdowntime=输入:<br />
at %shutdowntime% /every:M,T,W,Th,F,S,Su tsshutdn 0 /delay:0 /powerdown >nul<br />
rem 设定为每周的星期一至星期日,即为每天<br />
IF NOT errorlevel 1 GOTO ok<br />
rem 如果输入正确,就执行ok段的语句<br />
ECHO %shutdowntime% 不是标准的时间格式,请重新输入<br />
ECHO.<br />
GOTO yes<br />
:no<br />
ECHO 请指定24小时制式时间,格式为 小时:分钟<br />
SET shutdowntime=<br />
SET /p shutdowntime=输入:<br />
at %shutdowntime% tsshutdn 0 /delay:0 /powerdown >nul<br />
IF NOT errorlevel 1 GOTO ok<br />
ECHO %shutdowntime% 不是标准的时间格式,请重新输入<br />
ECHO.<br />
GOTO no<br />
 <img src='http://www.result-search.com/sty/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> k<br />
ECHO.<br />
SET h=%shutdowntime:~1,1%<br />
SET ah=%shutdowntime:~0,1%<br />
SET am=%shutdowntime:~2,2%<br />
SET bh=%shutdowntime:~0,2%<br />
SET bm=%shutdowntime:~3,2%<br />
IF &#8220;%h%&#8221;==&#8221;:&#8221; (<br />
SET HM=%ah%时%am%分<br />
) ELSE (<br />
SET HM=%bh%时%bm%分)<br />
rem 如果输入h:mm则HM=h时mm分,否则HM=hh时mm分<br />
IF /I &#8220;%ask%&#8221;==&#8221;y&#8221; ECHO 系统将于每天的%HM%关闭<br />
IF /I &#8220;%ask%&#8221;==&#8221;n&#8221; ECHO 系统将于%HM%关闭<br />
ECHO 设定完毕! 按任意键继续&#8230;<br />
PAUSE >nul<br />
GOTO start<br />
 <img src='http://www.result-search.com/sty/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> uttime<br />
CLS<br />
ECHO.<br />
ECHO 请输入倒计时秒数<br />
ECHO ————————<br />
ECHO (设定后要取消,单击&#8221;确定&#8221;后按Ctrl+C键两次)<br />
SET timed=<br />
SET /p timed=输入:<br />
tsshutdn %timed% /delay:0 /powerdown >nul<br />
IF not errorlevel 1 GOTO ok<br />
ECHO %timed% 是无效的关机时间,请重新输入<br />
ECHO.<br />
GOTO outtime<br />
:delAt<br />
cls<br />
echo.<br />
at /del /y<br />
echo 定时关机任务已取消,按任意键继续&#8230;<br />
pause >nul<br />
GOTO start<br />
:view<br />
MODE con: COLS=85 LINES=18<br />
COLOR 70<br />
ECHO.<br />
at<br />
ECHO 按任意键继续&#8230;<br />
PAUSE >nul<br />
GOTO start<br />
:restart<br />
shutdown -r -t 0<br />
:lock<br />
rundll32.exe user32.dll,LockWorkStation<br />
goto start<br />
:logoff<br />
logoff<br />
:end<br />
exit<br />
把以上复制到记事本保存后把后缀.txt改为.bat </p>
]]></content:encoded>
			<wfw:commentRss>http://www.result-search.com/sty/2010/05/14/%e5%85%b3%e4%ba%8exp-%e7%94%a8cmd%e8%87%aa%e5%8a%a8%e5%85%b3%e6%9c%ba%e7%9a%84%e9%97%ae%e9%a2%98.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Android用命令行运行</title>
		<link>http://www.result-search.com/sty/2010/05/04/android%e7%94%a8%e5%91%bd%e4%bb%a4%e8%a1%8c%e8%bf%90%e8%a1%8c.html</link>
		<comments>http://www.result-search.com/sty/2010/05/04/android%e7%94%a8%e5%91%bd%e4%bb%a4%e8%a1%8c%e8%bf%90%e8%a1%8c.html#comments</comments>
		<pubDate>Tue, 04 May 2010 05:09:04 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://www.result-search.com/sty/?p=1554</guid>
		<description><![CDATA[1。在eclipse下出现 “Failed to find an AVD compatible with target &#8216;Android 1.5&#8242;. Launch aborted.”。
手册上说需要Create an AVD（Android Virtual Device）。
AVD新建在%HOMEPATH%\.android\avd下。
D:\Dev\Android\Android-1.5\tools>android create avd &#8211;target 2 &#8211;name myavd
Android 1.5 is a basic Android platform.
Do you wish to create a custom hardware profile [no]no
Created AVD &#8216;myavd&#8217; based on Android 1.5
2。“Hello world!”，初学的第一步总归是跳不出这个圈子的，MS很有些不顺，按手册一步步做，运行时总发现出现的是黑屏的“ANDROID_”，根本不见我的 “Hello world”，折腾了一下午也没看到。到晚上才发现，原来第一次运行时需要等手机的模拟终端完全运行好后，才能看到久违的“Hello world”，中间时长得有个1、2分钟，不是程序运行得太慢，原来是我性子太急，face。
3。新版本的Android sdk 1.5里新的android工具替代了之前版本中activitycreator。
4。用android create project会生成build.xml文件，Eclipse则不会。Android1.5生成的build文件比Android1.1生成的简单多了， 关键使用了自定义的taskdef。
5。命令行启动方式：
D:\Study\Android>emulator.exe -avd myavd
D:\Study\Android>adb [...]]]></description>
			<content:encoded><![CDATA[<p>1。在eclipse下出现 “Failed to find an AVD compatible with target &#8216;Android 1.5&#8242;. Launch aborted.”。<br />
手册上说需要Create an AVD（Android Virtual Device）。</p>
<p>AVD新建在%HOMEPATH%\.android\avd下。<br />
D:\Dev\Android\Android-1.5\tools>android create avd &#8211;target 2 &#8211;name myavd<br />
Android 1.5 is a basic Android platform.<br />
Do you wish to create a custom hardware profile [no]no<br />
Created AVD &#8216;myavd&#8217; based on Android 1.5</p>
<p>2。“Hello world!”，初学的第一步总归是跳不出这个圈子的，MS很有些不顺，按手册一步步做，运行时总发现出现的是黑屏的“ANDROID_”，根本不见我的 “Hello world”，折腾了一下午也没看到。到晚上才发现，原来第一次运行时需要等手机的模拟终端完全运行好后，才能看到久违的“Hello world”，中间时长得有个1、2分钟，不是程序运行得太慢，原来是我性子太急，face。</p>
<p>3。新版本的Android sdk 1.5里新的android工具替代了之前版本中activitycreator。</p>
<p>4。用android create project会生成build.xml文件，Eclipse则不会。Android1.5生成的build文件比Android1.1生成的简单多了， 关键使用了自定义的taskdef。</p>
<p>5。命令行启动方式：<br />
D:\Study\Android>emulator.exe -avd myavd</p>
<p>D:\Study\Android>adb install bin\android.apk<br />
292 KB/s (9358 bytes in 0.031s)<br />
pkg: /data/local/tmp/android.apk<br />
Failure [INSTALL_FAILED_ALREADY_EXISTS]</p>
<p>D:\Study\Android>adb shell<br />
# rm /data/app/com.heyday.apk<br />
rm /data/app/com.heyday.apk<br />
# exit<br />
exit</p>
<p>D:\Study\Android>adb install bin\android.apk<br />
97 KB/s (9358 bytes in 0.093s)<br />
pkg: /data/local/tmp/android.apk<br />
Success</p>
<p>D:\Study\Android>adb shell<br />
# am start -n com.heyday/com.heyday.Hello<br />
am start -n com.heyday/com.heyday.Hello<br />
Starting: Intent { comp={com.heyday/com.heyday.Hello} }<br />
#</p>
<p>6。两个命令（android.bat adb.exe）：</p>
<p>android.bat：<br />
android 是一个批处理脚本（win）或shell脚本（linux），它在android_home/tools目录中，其中 android_home即Adnroid sdk的根目录。用法如下：</p>
<p>android  [global option] action  [action option]</p>
<p>全局选项（global option）：<br />
-h &#8211;help         显示命令的帮准信息<br />
-s &#8211;silent       以安静模式运行命令，仅会打印错误信息<br />
-v &#8211;verbose   以详细模式运行命令，会在控制台输出错误、警告和其它一些信息</p>
<p>动作（action），动作由一个动词后跟一个可选的命令对象<br />
list             列出当前的目标和虚拟设备<br />
list avd         列出当前的虚拟设备<br />
list target      列出当前的目标<br />
create avd       新建一个Android虚拟设备<br />
move avd         移动或重命名一个Android虚拟设备<br />
update avd       更新Android虚拟设备匹配新sdk的目录<br />
delete avd       删除Android虚拟设备<br />
create project   新建Android项目<br />
update project   更新Android项目 （项目中必须存在AndroidMenifest.xml文件）</p>
<p>list、list avd、list target动作没有选项。</p>
<p>create avd动作<br />
-t &#8211;target      新avd的目标（必须）<br />
-c -sdcard       avd使用的sd card镜像文件的路径，或者新sd card的大小<br />
-p &#8211;path        指向新建avd目录的路径<br />
-n &#8211;name        新avd的名称（必须）<br />
-f &#8211;force       强制新建一个avd<br />
-s &#8211;skin        avd使用的皮肤</p>
<p>move avd动作<br />
-p &#8211;path        移动或重命名的avd的目录路径<br />
-n &#8211;name        移动或重名的avd的名称（必须）<br />
-r &#8211;rename      avd的新名称</p>
<p>delete avd动作<br />
-n &#8211;name        删除的avd的名称（必须）</p>
<p>update avd动作<br />
-n &#8211;name        更新的avd的名称（必须）</p>
<p>create project动作<br />
-k &#8211;package     包名（必须）<br />
-n &#8211;name        项目名<br />
-a &#8211;activity    activity名（必须）<br />
-t &#8211;target      新项目的目标（必须）<br />
-p &#8211;path        存放新项目的目录路径（必须）</p>
<p>update project动作<br />
-t &#8211;target      项目更新后的目标（必须）<br />
-p &#8211;path        项目的路径（必须）<br />
-n &#8211;name        项目的名称</p>
<p>注：</p>
<p>1. 在上面列出的选项中后面加了必须，说明运行此动作时，必须制定此选项<br />
2. 目标（target）是指使用的Android sdk的版本，在Android sdk 1.5 r1中，其可选值为1、2和3。1表示使用Android sdk 1.1，2表示使用Android sdk 1.5，3在2的基础上，增加了google map api。</p>
<p>adb.exe：<br />
adb(Android Debug Bridge)是Android提供的一个通用的调试工具，借助这个工具，我们可以管理设备或手机模拟器的状态。还可以进行以下的操作：</p>
<p>1、快速更新设备或手机模拟器中的代码，如应用或Android系统升级；<br />
2、在设备上运行shell命令；<br />
3、管理设备或手机模拟器上的预定端口；<br />
4、在设备或手机模拟器上复制或粘贴文件；</p>
<p>install
<path>                         安装应用程序到服务器<br />
pull <remote file> <local file>     将远程文件拉出服务器<br />
push <local file> <remote file>     将本地文件推进服务器<br />
shell                                 在服务器上打开一个壳环境<br />
forward <local port> <remote port>     从一个端口转递流量到另外一个端口（到或者从服务器上）<br />
start-server                         启动服务器<br />
kill-server                         停止服务器<br />
ppp <tty>
<params>                     通过USB使用一个ppp连接<br />
devices                             列出可用的模拟器<br />
help                                 列出adb的命令<br />
version                             显示adb的版本</p>
<p>以下为一些常用的操作：</p>
<p>1、安装应用到模拟器：</p>
<p>adb install
<path_to_apk></path_to_apk>
比较郁闷的是，Android并没有提供一个卸载应用的命令，只能自己手动删除：<br />
adb shell<br />
cd /data/app<br />
rm app.apk</p>
<p>2、进入设备或模拟器的shell：</p>
<p>adb shell<br />
通过上面的命令，就可以进入设备或模拟器的shell环境中，在这个Linux Shell中，你可以执行各种Linux的命令，另外如果只想执行一条shell命令，可以采用以下的方式：<br />
adb shell [command]<br />
如：adb shell dmesg会打印出内核的调试信息。</p>
<p>3、发布端口：<br />
你可以设置任意的端口号，做为主机向模拟器或设备的请求端口。如：<br />
adb forward tcp:5555 tcp:8000</p>
<p>4、复制文件：<br />
你可向一个设备或从一个设备中复制文件，<br />
复制一个文件或目录到设备或模拟器上：<br />
adb push <source> <destination></destination></source><br />
如：adb push test.txt /tmp/test.txt<br />
从设备或模拟器上复制一个文件或目录：<br />
adb pull <source> <destination></destination></source><br />
如：adb pull /addroid/lib/libwebcore.so .</p>
<p>5、搜索模拟器/设备的实例：<br />
取得当前运行的模拟器/设备的实例的列表及每个实例的状态：<br />
adb devices</p>
<p>6、查看bug报告：<br />
adb bugreport</p>
<p>7、记录无线通讯日志：<br />
一般来说，无线通讯的日志非常多，在运行时没必要去记录，但我们还是可以通过命令，设置记录：<br />
adb shell<br />
logcat -b radio</p>
<p>8、获取设备的ID和序列号：<br />
adb get-product<br />
adb get-serialno</p>
<p>9、访问数据库SQLite3<br />
adb shell<br />
sqlite3</p>
]]></content:encoded>
			<wfw:commentRss>http://www.result-search.com/sty/2010/05/04/android%e7%94%a8%e5%91%bd%e4%bb%a4%e8%a1%8c%e8%bf%90%e8%a1%8c.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>disable magento admin notification</title>
		<link>http://www.result-search.com/sty/2010/04/20/disable-magento-admin-notification.html</link>
		<comments>http://www.result-search.com/sty/2010/04/20/disable-magento-admin-notification.html#comments</comments>
		<pubDate>Tue, 20 Apr 2010 12:15:40 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[magento]]></category>

		<guid isPermaLink="false">http://www.result-search.com/sty/?p=1543</guid>
		<description><![CDATA[
If you want totaly disable  notifications do as follow:
1) Remove from app/design/adminhtml/default/default/layout/main.xml two  lines:
 &#60;block type="adminhtml/notification_window" name="notification_window" as="notification_window" acl="system/adminnotification/show_toolbar" template="notification/window.phtml" /&#62; 
and
 &#60;block type="adminhtml/notification_toolbar" name="notification_toolbar" as="notification_toolbar" acl="system/adminnotification/show_toolbar" template="notification/toolbar.phtml"&#62;&#60;/block&#62; 
2) Change following code in app/etc/modules/Mage_All.xml
 &#60;Mage_AdminNotification&#62;
&#60;active&#62;true&#60;/active&#62;
&#60;codePool&#62;core&#60;/codePool&#62;
&#60;depends&#62;
&#60;Mage_Core /&#62;
&#60;/depends&#62;
&#60;/Mage_AdminNotification&#62; 
into
 &#60;Mage_AdminNotification&#62;
&#60;active&#62;false&#60;/active&#62;
&#60;codePool&#62;core&#60;/codePool&#62;
&#60;depends&#62;
&#60;Mage_Core /&#62;
&#60;/depends&#62;
&#60;/Mage_AdminNotification&#62; 

]]></description>
			<content:encoded><![CDATA[<div id="blog_text">
<p>If you want totaly disable  notifications do as follow:</p>
<p>1) Remove from app/design/adminhtml/default/default/layout/main.xml two  lines:</p>
<div><code> <span style="color: #007700;">&lt;</span><span style="color: #0000bb;">block type</span><span style="color: #007700;">=</span><span style="color: #dd0000;">"adminhtml/notification_window" </span><span style="color: #0000bb;">name</span><span style="color: #007700;">=</span><span style="color: #dd0000;">"notification_window" </span><span style="color: #007700;">as=</span><span style="color: #dd0000;">"notification_window" </span><span style="color: #0000bb;">acl</span><span style="color: #007700;">=</span><span style="color: #dd0000;">"system/adminnotification/show_toolbar" </span><span style="color: #0000bb;">template</span><span style="color: #007700;">=</span><span style="color: #dd0000;">"notification/window.phtml" </span><span style="color: #007700;">/&gt;</span> </code></div>
<p>and</p>
<div><code> <span style="color: #007700;">&lt;</span><span style="color: #0000bb;">block type</span><span style="color: #007700;">=</span><span style="color: #dd0000;">"adminhtml/notification_toolbar" </span><span style="color: #0000bb;">name</span><span style="color: #007700;">=</span><span style="color: #dd0000;">"notification_toolbar" </span><span style="color: #007700;">as=</span><span style="color: #dd0000;">"notification_toolbar" </span><span style="color: #0000bb;">acl</span><span style="color: #007700;">=</span><span style="color: #dd0000;">"system/adminnotification/show_toolbar" </span><span style="color: #0000bb;">template</span><span style="color: #007700;">=</span><span style="color: #dd0000;">"notification/toolbar.phtml"</span><span style="color: #007700;">&gt;&lt;/</span><span style="color: #0000bb;">block</span><span style="color: #007700;">&gt;</span> </code></div>
<p>2) Change following code in app/etc/modules/Mage_All.xml</p>
<div><code> <span style="color: #007700;">&lt;</span><span style="color: #0000bb;">Mage_AdminNotification</span><span style="color: #007700;">&gt;<br />
&lt;</span><span style="color: #0000bb;">active</span><span style="color: #007700;">&gt;</span><span style="color: #0000bb;">true</span><span style="color: #007700;">&lt;/</span><span style="color: #0000bb;">active</span><span style="color: #007700;">&gt;<br />
&lt;</span><span style="color: #0000bb;">codePool</span><span style="color: #007700;">&gt;</span><span style="color: #0000bb;">core</span><span style="color: #007700;">&lt;/</span><span style="color: #0000bb;">codePool</span><span style="color: #007700;">&gt;<br />
&lt;</span><span style="color: #0000bb;">depends</span><span style="color: #007700;">&gt;<br />
&lt;</span><span style="color: #0000bb;">Mage_Core </span><span style="color: #007700;">/&gt;<br />
&lt;/</span><span style="color: #0000bb;">depends</span><span style="color: #007700;">&gt;<br />
&lt;/</span><span style="color: #0000bb;">Mage_AdminNotification</span><span style="color: #007700;">&gt;</span> </code></div>
<p>into</p>
<div><code> <span style="color: #007700;">&lt;</span><span style="color: #0000bb;">Mage_AdminNotification</span><span style="color: #007700;">&gt;<br />
&lt;</span><span style="color: #0000bb;">active</span><span style="color: #007700;">&gt;</span><span style="color: #0000bb;">false</span><span style="color: #007700;">&lt;/</span><span style="color: #0000bb;">active</span><span style="color: #007700;">&gt;<br />
&lt;</span><span style="color: #0000bb;">codePool</span><span style="color: #007700;">&gt;</span><span style="color: #0000bb;">core</span><span style="color: #007700;">&lt;/</span><span style="color: #0000bb;">codePool</span><span style="color: #007700;">&gt;<br />
&lt;</span><span style="color: #0000bb;">depends</span><span style="color: #007700;">&gt;<br />
&lt;</span><span style="color: #0000bb;">Mage_Core </span><span style="color: #007700;">/&gt;<br />
&lt;/</span><span style="color: #0000bb;">depends</span><span style="color: #007700;">&gt;<br />
&lt;/</span><span style="color: #0000bb;">Mage_AdminNotification</span><span style="color: #007700;">&gt;<span id="more-1543"></span></span> </code></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.result-search.com/sty/2010/04/20/disable-magento-admin-notification.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>春风得意的 jQuery</title>
		<link>http://www.result-search.com/sty/2010/03/30/%e6%98%a5%e9%a3%8e%e5%be%97%e6%84%8f%e7%9a%84-jquery.html</link>
		<comments>http://www.result-search.com/sty/2010/03/30/%e6%98%a5%e9%a3%8e%e5%be%97%e6%84%8f%e7%9a%84-jquery.html#comments</comments>
		<pubDate>Tue, 30 Mar 2010 12:57:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ajax-jquery-effect]]></category>

		<guid isPermaLink="false">http://www.result-search.com/sty/?p=1508</guid>
		<description><![CDATA[from : http://blog.csdn.net/comsharp/archive/2010/03/27/5422299.aspx
5年前，没有人听说过 jQuery，当时，它只是 JavaScript 大师 John Resig 的一个设想。今天，jQuery  已经是世界上最成功的 JavaScript 库，互联网上 28% 的网站使用 jQuery。最为开源工具，Web 开发者们喜欢  jQuery，大公司也对它张开臂膀，它几乎已经成为 Web 开发与设计的标准，甚至得到了微软的支持。
到底什么是 jQuery， jQuery 团队有一段很好的阐述：
jQuery 是一个快速，精确的 JavaScript 库，简化了对 HTML 文档的操作，动画以及事件处理，同时又是快速 Ajax  开发交互平台。jQuery 的使命是改变你编写 JavaScript 代码的方式。
使用 jQuery 的网站
越来越多的网站使用 jQuery，包括下面这些全球最受欢迎的站点：

Twitter.com
Wikipedia.org
MLB.com
Amazon.com
Bing.com
Microsoft.com
Bit.ly
ESPN.com
Digg.com
Reddit.com
Netflix.com
Wordpress.com

甚至包括美国政府网站(Whitehouse.gov)。
目前，全世界有 28% 的网站使用 jQuery，这个趋势还在上升，下图是根据全球最大的 10000 个网站使用 jQuery  的比例趋势L

上图: jQuery  使用趋势图 from  BuiltWith .
其它 JavaScript 库
jQuery [...]]]></description>
			<content:encoded><![CDATA[<p>from : http://blog.csdn.net/comsharp/archive/2010/03/27/5422299.aspx</p>
<p>5年前，没有人听说过 jQuery，当时，它只是 JavaScript 大师 John Resig 的一个设想。今天，jQuery  已经是世界上最成功的 JavaScript 库，互联网上 28% 的网站使用 jQuery。最为开源工具，Web 开发者们喜欢  jQuery，大公司也对它张开臂膀，它几乎已经成为 Web 开发与设计的标准，甚至得到了微软的支持。</p>
<p><strong>到底什么是 jQuery， jQuery 团队有一段很好的阐述：</strong></p>
<p>jQuery 是一个快速，精确的 JavaScript 库，简化了对 HTML 文档的操作，动画以及事件处理，同时又是快速 Ajax  开发交互平台。jQuery 的使命是改变你编写 JavaScript 代码的方式。</p>
<h3>使用 jQuery 的网站</h3>
<p>越来越多的网站使用 jQuery，包括下面这些全球最受欢迎的站点：</p>
<ul>
<li><strong>Twitter.com</strong></li>
<li><strong>Wikipedia.org</strong></li>
<li><strong>MLB.com</strong></li>
<li><strong>Amazon.com</strong></li>
<li><strong>Bing.com</strong></li>
<li><strong>Microsoft.com</strong></li>
<li><strong>Bit.ly</strong></li>
<li><strong>ESPN.com</strong></li>
<li><strong>Digg.com</strong></li>
<li><strong>Reddit.com</strong></li>
<li><strong>Netflix.com</strong></li>
<li><strong>Wordpress.com</strong></li>
</ul>
<p>甚至包括美国政府网站(Whitehouse.gov)。</p>
<p>目前，全世界有 28% 的网站使用 jQuery，这个趋势还在上升，下图是根据全球最大的 10000 个网站使用 jQuery  的比例趋势L</p>
<p><img style="border: 1px solid #c0c0c0; padding: 15px;" title="jQuery usage" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-27/4465177118_bfa8845239_o.png" alt="jQuery usage" width="580" height="179" /><br />
<em><strong>上图:</strong> jQuery  使用趋势图 <a href="http://trends.builtwith.com/javascript/JQuery">from  BuiltWith</a> .</em></p>
<h3>其它 JavaScript 库</h3>
<p>jQuery 是目前最流行的 JavaScript 库，在所有使用 JavaScript 库的站点中，超过 38% 使用  jQuery，而位居第二的 <a href="http://www.prototypejs.org/">Prototype</a> 只有 7.55%。</p>
<p><img style="border: 1px solid #c0c0c0; margin: 15px;" title="Javascript   library stats" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-27/4464399013_25bf431850_o.png" alt="Javascript library stats" width="511" height="326" /><br />
<em><strong>上图:</strong> Javascript 库的使用分布  <a href="http://trends.builtwith.com/javascript/JQuery">from BuiltWith</a> .</em></p>
<p>对 jQuery 的讨论也非常多，几年前，人人都谈 Prototype，现在，jQuery 成了人们的话题，下图是人们对各个  JavaScript 库的关注程度：</p>
<p><img style="border: 1px solid #c0c0c0; margin: 15px;" title="jQuery   dominance" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-27/4465177180_3e45eeeab8_o.png" alt="jQuery dominance" width="198" height="130" /></p>
<p>下图是根据 <a href="http://www.google.com/insights/search/#cat=422&amp;q=jquery%2Cprototype%2Cdojo%2Cmootools%2Cextjs&amp;cmpt=q">Google     Insights for Search</a> 制作了各个 JavaScript 库近几年受关注程度的变化：</p>
<p><img style="border: 1px solid #c0c0c0; margin: 15px;" title="jQuery   popularity rise" src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-27/4465177194_eee5cbd9fa_o.png" alt="jQuery popularity rise" width="566" height="206" /><br />
<em><strong>上图:</strong> 蓝色代表 jQuery，红色代表 Prototype.</em></p>
<h3>jQuery 得到众多公司的帮助</h3>
<p>不仅开发社区喜欢 jQuery，很多大公司也纷纷对它伸出橄榄枝，这是它成功的关键。</p>
<p>比如：</p>
<ul>
<li><strong>微软</strong> 和 <strong>Google</strong> 都在他们的 CDN 网络中为 jQuery 库提供托管。</li>
<li><strong>Media Temple</strong> 竭尽全力捐助托管 jQuery 网站。</li>
<li><a href="http://blog.jquery.com/2010/03/16/microsoft-to-expand-its-collaboration-with-the-jquery-community/"><strong>微 软</strong> 表示</a> 帮助对 jQuery 进行测试甚至开发，Visual Studio 和 ASP.NET MVC 都内置 jQuery。</li>
<li><strong>诺基亚</strong> <a href="http://blog.jquery.com/2008/09/28/jquery-microsoft-nokia/">参与  jQuery 测试</a> ，并雇佣了 jQuery 核心成员 Brandon Aaron。</li>
<li>当然落不了开源领头羊 <strong>Mozilla</strong> ，他们雇佣了 jQuery 创始人 John Resig。</li>
</ul>
<p>jQuery 还有<a href="http://jquery.org/sponsors">更多赞助者</a> ，根据 John Resig 的介绍，jQuery  的资源 100% 来自捐赠，<a href="http://jquery.org/donate">任何人都可以捐赠 jQuery</a> ，不独大公司。</p>
<h3>小团队，大成功</h3>
<p>jQuery 的核心开发团队只有 6 人，包括 jQuery 创始人 John Resig，还有一个 6 人的开发者关系团队。还有一些开发  jQuery 插件的人，总之，他们不是个大团队，另外，他们是开源团队，人人都是义务开发。<a href="http://jquery.org/team">这里是  jQuery 团队的情况</a> 。<span id="more-1508"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.result-search.com/sty/2010/03/30/%e6%98%a5%e9%a3%8e%e5%be%97%e6%84%8f%e7%9a%84-jquery.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web 地理定位（Geo-Location）知识大全</title>
		<link>http://www.result-search.com/sty/2010/03/30/web-%e5%9c%b0%e7%90%86%e5%ae%9a%e4%bd%8d%ef%bc%88geo-location%ef%bc%89%e7%9f%a5%e8%af%86%e5%a4%a7%e5%85%a8.html</link>
		<comments>http://www.result-search.com/sty/2010/03/30/web-%e5%9c%b0%e7%90%86%e5%ae%9a%e4%bd%8d%ef%bc%88geo-location%ef%bc%89%e7%9f%a5%e8%af%86%e5%a4%a7%e5%85%a8.html#comments</comments>
		<pubDate>Tue, 30 Mar 2010 09:36:46 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[技术资料]]></category>

		<guid isPermaLink="false">http://www.result-search.com/sty/?p=1504</guid>
		<description><![CDATA[from:http://blog.csdn.net/comsharp/archive/2010/03/12/5373916.aspx
在线地图已经是很平常的应用，Google Map  甚至可以用作驾驶导航仪，然而，这些应用的实现涉及到千丝万缕的艰辛工作，仅仅是定位你现在的位置，就有很多技术，有幸的是，如今在你的 Web  站点中，你可以通过短短的几行代码，获得一个用户的地理位置，本文介绍的是用在 Web 中的各种地理定位技术。
通过 IP 地址获得用户的地理位置信息
互联网不过是一个巨大的网络，上面的每一台电脑对应一个 IP 地址，通过这个 IP 地址，可以知道这个用户在什么位置，我们可以通过查询 Maxmind   GeoIP 数据库 获得，Maxmind 还提供了一个 JavaScript  接口 让 你在网站上实现这一功能。

这个方法（演示 ）有一个问 题，就是说，你获得的 IP 地理位置信息未必非常准确，因为这个 IP 是你的 ISP 分配给你的，你获得的事实上是 ISP  的地理位置，另外，如果你使用 VPN，你实际的得到可能是十万八千里之外的地方了。
通过 W3C Geo API 获得用户地理位置
通过 IP  地址获取用户地理位置还有一个棘手的问题，就是安全和隐私问题，毕竟，并不是每个用户都愿意自己的地理位置信息被别人知道，鉴于此，人们开发了很多技术，Google  Gears 拥有一个 Geo-Location 服务 ，Plazes 帮助你保存你的位置 ，而 Yahoo [...]]]></description>
			<content:encoded><![CDATA[<p>from:http://blog.csdn.net/comsharp/archive/2010/03/12/5373916.aspx</p>
<p>在线地图已经是很平常的应用，Google Map  甚至可以用作驾驶导航仪，然而，这些应用的实现涉及到千丝万缕的艰辛工作，仅仅是定位你现在的位置，就有很多技术，有幸的是，如今在你的 Web  站点中，你可以通过短短的几行代码，获得一个用户的地理位置，本文介绍的是用在 Web 中的各种地理定位技术。</p>
<h3>通过 IP 地址获得用户的地理位置信息</h3>
<p>互联网不过是一个巨大的网络，上面的每一台电脑对应一个 IP 地址，通过这个 IP 地址，可以知道这个用户在什么位置，我们可以通过查询 <a href="http://maxmind.com/">Maxmind   GeoIP 数据库</a> 获得，Maxmind 还提供了一个 <a href="http://www.maxmind.com/app/javascript_city">JavaScript  接口</a> 让 你在网站上实现这一功能。</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic1.gif" alt="" /></p>
<p>这个方法（<a href="http://isithackday.com/hacks/geo/js-location.html">演示</a> ）有一个问 题，就是说，你获得的 IP 地理位置信息未必非常准确，因为这个 IP 是你的 ISP 分配给你的，你获得的事实上是 ISP  的地理位置，另外，如果你使用 VPN，你实际的得到可能是十万八千里之外的地方了。</p>
<h3>通过 W3C Geo API 获得用户地理位置</h3>
<p>通过 IP  地址获取用户地理位置还有一个棘手的问题，就是安全和隐私问题，毕竟，并不是每个用户都愿意自己的地理位置信息被别人知道，鉴于此，人们开发了很多技术，<a href="http://code.google.com/apis/gears/api_geolocation.html">Google  Gears 拥有一个 Geo-Location 服务</a> ，<a href="http://plazes.com/">Plazes 帮助你保存你的位置</a> ，而 <a href="http://fireeagle.yahoo.net/">Yahoo Fire Eagle</a> 算得上这类技术中最顺手的一个。然而这些技术共同的问题是，它们要求用户要么安装一个插件，要么需要访问特定的 Web 服务，这有些麻烦。</p>
<p>W3C 有一个 <a href="http://www.w3.org/TR/geolocation-API/">Geo-Location  API</a> 可以帮助浏览器制造商，在浏览器中集成地理信息功能。Firefox 3.5 以上的浏览器<a href="http://www.mozilla.com/firefox/geolocation/">支持 W3C  Geo-LocationAPI</a> ，同样支持该 API 的还有 <a href="http://developer.apple.com/safari/library/documentation/AppleApplications/Reference/SafariWebContent/GettingGeographicalLocations/GettingGeographicalLocations.html">iPhone   上的 Safari 浏览器</a> （需要 OS3.0  以上）。需要通过浏览器查询自己地理位置的用户，在浏览器中，会显示一个对话条，请求你的授权。如下图所示：</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic2.gif" alt="" /></p>
<p>以下是请求使用该功能的代码：</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic3.gif" alt="" /></p>
<p><a href="http://isithackday.com/hacks/geo/distance.php">下面的演示</a> ，可以很好地 演示上面两种地理信息获取技术的不同，可以看到，他们在<a href="http://isithackday.com/hacks/geo/js-w3c-location.html">测量用户地理位 置</a> 方面有很多不同。</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic4.gif" alt="" /></p>
<h3>将经度/维度转换为地名</h3>
<p>将经度/维度信息转换为地位，称为 “<a href="http://en.wikipedia.org/wiki/Reverse_geocoding">反 Geo-Location</a> ”， 网络上有很多这类服务可以使用，其中最著名的是 <a href="http://www.geonames.org/export/reverse-geocoding.html">the    geo-names Web service</a> ,  但它仍有几个问题，比如，它的结果是以美国为中心的。另一个可免费使用，且支持全球信息，但知道的人并不多的服务来自一个让人有点意外的地方，<a href="http://www.flickr.com/">Flickr</a> 。Flickr  的 <a href="http://www.flickr.com/services/api/flickr.places.findByLatLon.html">flickr.places.findByLatLon</a> 服务可以根据经纬度信息返回地名，你可以在 <a href="http://www.flickr.com/services/api/explore/?method=flickr.places.findByLatLon">app    explorer</a> 做下体验，但目前最简单的方法是使用 <a href="http://developer.yahoo.com/yql">Yahoo Query   Language</a> (  Yahoo 查询语言，简称 YQL). YQL 的样子如下：</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic5.gif" alt="" /></p>
<p>使用 YQL 查询语言，你可以得到 <a href="http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20flickr.places%20where%20lat%3D%2237.416115%22%20and%20lon%3D-122.0245671&amp;format=xml">XML</a> 或 JSon 格式的数据，下图是在 JavaScript 中是使用该查询语言的例子：</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic6.gif" alt="" /></p>
<p>结合上面的例子，在反 Geo-Location 查询的帮助下，<a href="http://isithackday.com/hacks/geo/distance-info.php">我们得到了详细的地名 信息</a> ：</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic7.gif" alt="" /></p>
<h3>经纬度的问题</h3>
<p>经纬度虽然可以定位地球上的一个位置，但经纬度有时候容易引起歧义，为了解决这个问题，Yahoo 和 Flickr （<a href="http://apiwiki.twitter.com/Twitter-REST-API-Method:-trends-location">Twitter</a> 很快也会支持）支持另一种定位方法，叫 <a href="http://developer.yahoo.com/geo/geoplanet/guide/concepts.html">Where     On Earth Identifier</a> (简称 WOEID) 。使用该方法，我们可以很容易获取来自某个区域的 Flickr 图片。</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic8.gif" alt="" /></p>
<p>这样几句 JavaScript 代码就可以显示来自指定地理位置的图片：</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic9.gif" alt="" /></p>
<p>这些代码还可以打包成函数，下面的代码，将显示来自巴黎的10幅照片，你可以自己在 <a href="http://developer.yahoo.com/yql/console/?q=select%20*%20from%20flickr.photolist%20where%20location%3D%22paris%2Cfr%22%20and%20text%3D%22%22%20and%20amount%3D10&amp;env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys">YQL    console</a> 中体验：</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic10.gif" alt="" /></p>
<h3>在文字内容中自动挖掘地理信息</h3>
<p>假如你想获得一段文字，或者一个网页内容所提到的地名的地理位置的信息，Yahoo 提供了一个很好的服务，叫 <a href="http://developer.yahoo.com/geo/placemaker/">Placemaker</a> 。从  Yahoo 那里获取一个 <a href="http://developer.yahoo.com/wsregapp/">developer  key</a> 就可以使用该服务了。只需创建一个发布表单发布到 <code>http://wherein.yahooapis.com/v1/document</code> ， 将 Developer Key 以 appid 发布，需要查询的文字以 documentContent 发布，将文字类型以  documentType 发布，同时用 outputType 定义返回数据类型，如下：</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic11.gif" alt="" /></p>
<p>你也可以在<a href="http://isithackday.com/hacks/geo/simple-placemaker.php">这 里亲自体 验一下</a> ，使用 PHP 调用该 API ，甚至可以<a href="http://isithackday.com/hacks/geo/placemaker.php">对输出数据的格式进行设置</a> 。 这里还有一个使用 PlaceMaker 设计 <a href="http://icant.co.uk/geomaker">GeoMaker</a> 服务，简单输入文字或  URL，选择位置，就可以返回地图。</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic12.gif" alt="" /></p>
<p>因为还可以在 JavaScript 中通过 YQL 使用 PlaceMaker，我们可以通过几段客户端脚本使用同样的功能：</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic13.gif" alt="" /></p>
<p>你需要三样东西，一段位于某个 HTML 对象中的，包含地理位置的文字，一个 Google Maps API Key （<a href="http://code.google.com/apis/maps/signup.html">申请</a> ） 以及以下代码：</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic14.gif" alt="" /></p>
<h3>在网页中插入地图</h3>
<p>在线地图有很多，Google Map 是其中的领先者，除了 Google，Yahoo, 微软都提供地图服务，还有一个叫做 <a href="http://www.openstreetmap.org/">Open Street Maps</a> 的开放地图服务，<a href="http://www.opengeodata.org/2010/01/24/osm-the-default-map-in-haiti/">在 上次海地地震救援中被派上用场</a> 。在网页中插入交互地图最简单的方法是使用 <a href="http://www.mapstraction.com/">Mapstraction</a> ,它提供一个  JavaScript 库，<a href="http://24ways.org/2007/get-to-grips-with-slippy-maps">24ways  曾发表过一篇很好的介绍文章</a> 。如果你只想在网页上放上你的地图，指示你的位置，而不想使用太多 JavaScript， <a href="http://code.google.com/apis/maps/documentation/staticmaps/">Google    static maps API</a> 是最好的选择，它会生成静态地图，以下代码可以将这个静态地图插入你的网页（<a href="http://gmaps-samples.googlecode.com/svn/trunk/simplewizard/makestaticmap.html">Google   还提供了一个创建静态地图的工具</a> ）：</p>
<p><img src="http://www.comsharp.com/Writable/Resource/_Random_/2010-03-12/graphic15.gif" alt="" /></p>
<p>本文国际来源：<a href="http://www.smashingmagazine.com/2010/03/08/entering-the-wonderful-world-of-geo-location/">http://www.smashingmagazine.com/2010/03/08/entering-the-wonderful-world-of-geo-location/<span id="more-1504"></span></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.result-search.com/sty/2010/03/30/web-%e5%9c%b0%e7%90%86%e5%ae%9a%e4%bd%8d%ef%bc%88geo-location%ef%bc%89%e7%9f%a5%e8%af%86%e5%a4%a7%e5%85%a8.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>我估计把这个 vimrc 研究一遍，VIM 就有小成了</title>
		<link>http://www.result-search.com/sty/2010/02/28/%e6%88%91%e4%bc%b0%e8%ae%a1%e6%8a%8a%e8%bf%99%e4%b8%aa-vimrc-%e7%a0%94%e7%a9%b6%e4%b8%80%e9%81%8d%ef%bc%8cvim-%e5%b0%b1%e6%9c%89%e5%b0%8f%e6%88%90%e4%ba%86.html</link>
		<comments>http://www.result-search.com/sty/2010/02/28/%e6%88%91%e4%bc%b0%e8%ae%a1%e6%8a%8a%e8%bf%99%e4%b8%aa-vimrc-%e7%a0%94%e7%a9%b6%e4%b8%80%e9%81%8d%ef%bc%8cvim-%e5%b0%b1%e6%9c%89%e5%b0%8f%e6%88%90%e4%ba%86.html#comments</comments>
		<pubDate>Sun, 28 Feb 2010 12:09:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[写程序工具]]></category>

		<guid isPermaLink="false">http://www.result-search.com/sty/?p=1438</guid>
		<description><![CDATA[http://www.vi-improved.org/vimrc.php
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"
&#8221;  General
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"
set  nocompatible &#8221; get out of horrible vi-compatible mode
filetype on &#8221;  detect the type of file
set history=1000 &#8221; How many lines of history  to remember
set cf &#8221; enable error files and error jumping
set  clipboard+=unnamed &#8221; put yanks/etc on the clipboard
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"
&#8221;  Theme/Colors
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"
set  background=dark &#8221; we are using a [...]]]></description>
			<content:encoded><![CDATA[<div><a href="http://www.vi-improved.org/vimrc.php">http://www.vi-improved.org/vimrc.php</a></div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  General<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
set  nocompatible &#8221; get out of horrible vi-compatible mode<br />
filetype on &#8221;  detect the type of file<br />
set history=1000 &#8221; How many lines of history  to remember<br />
set cf &#8221; enable error files and error jumping<br />
set  clipboard+=unnamed &#8221; put yanks/etc on the clipboard</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Theme/Colors<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<span id="more-1438"></span><br />
set  background=dark &#8221; we are using a dark background<br />
syntax on &#8221; syntax  highlighting on<br />
colorscheme metacosm &#8221; my theme</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Files/Backups<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
set  backup &#8221; make backup file<br />
set backupdir=c:\progra~1\vim\backup &#8221;  where to put backup file<br />
set directory=c:\progra~1\vim\tmp &#8221;  directory is the directory for temp file<br />
set makeef=error.err &#8221; When  using make, where should it dump the file</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Vim UI<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
set  wildmenu &#8221; turn on wild menu<br />
set ruler &#8221; Always show current  positions along the bottom<br />
set cmdheight=2 &#8221; the command bar is 2  high<br />
set number &#8221; turn on line numbers<br />
set lz &#8221; do not redraw  while running macros (much faster) (LazyRedraw)<br />
set hid &#8221; you can  change buffer without saving<br />
set backspace=2 &#8221; make backspace work  normal<br />
set whichwrap+=&lt;,&gt;,h,l  &#8221; backspace and cursor keys wrap  to<br />
set mouse=a &#8221; use mouse everywhere<br />
set ignorecase &#8221; easier to  ignore case for searching<br />
set shortmess=at &#8221; shortens messages to  avoid &#8216;press a key&#8217; prompt<br />
set report=0 &#8221; tell us when anything is  changed via :&#8230;<br />
set noerrorbells &#8221; don&#8217;t make noise<br />
set  fillchars=vert:\ ,stl:\ ,stlnc:\</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Visual Cues<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
set  showmatch &#8221; show matching brackets<br />
set mat=5 &#8221; how many tenths of a  second to blink matching brackets for<br />
set nohlsearch &#8221; do not  highlight searched for phrases<br />
set incsearch &#8221; BUT do highlight as  you type you search phrase<br />
set list &#8221; show chars on end of line,  whitespace, etc<br />
set listchars=eol:$,tab:|\  ,trail:.,extends:&gt;,precedes:&lt; &#8221; Show end of line as $&#8230; (see  help)<br />
set lines=75 &#8221; 66 lines tall<br />
set columns=150 &#8221; 150 cols wide<br />
set  tw=132 &#8221; just to be in sync with henroc (I needed a random number, this  works)<br />
set so=10 &#8221; Keep 10 lines (top/bottom) for scope<br />
set  novisualbell &#8221; don&#8217;t blink<br />
set noerrorbells &#8221; no noises<br />
set  statusline=%F%m%r%h%w\ [FORMAT=%{&amp;ff}]\ [TYPE=%Y]\ [ASCII=\%03.3b]\  [HEX=\%02.2B]\ [POS=%04l,%04v][%p%%]\ [LEN=%L]<br />
set laststatus=2 &#8221;  always show the status line</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Text Formatting/Layout<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
set  fo=tcrqn &#8221; See Help (complex)<br />
set ai &#8221; autoindent<br />
set si &#8221;  smartindent<br />
set cindent &#8221; do c-style indenting<br />
set tabstop=8 &#8221;  tab spacing (settings below are just to unify it)<br />
set softtabstop=8 &#8221;  unify<br />
set shiftwidth=8 &#8221; unify<br />
set noexpandtab &#8221; real tabs  please!<br />
set nowrap &#8221; do not wrap lines<br />
set smarttab &#8221; use tabs  at the start of a line, spaces elsewhere</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Folding<br />
&#8220;    Enable folding, but by default make it act like folding  is off, because folding is annoying in anything but a few rare cases<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
set  foldenable &#8221; Turn on folding<br />
set foldmethod=indent &#8221; Make folding  indent sensitive<br />
set foldlevel=100 &#8221; Don&#8217;t autofold anything (but I  can still fold manually)<br />
set foldopen-=search &#8221; don&#8217;t open folds when  you search into them<br />
set foldopen-=undo &#8221; don&#8217;t open folds when you  undo stuff</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  File Explorer<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
let  g:explVertical=1 &#8221; should I split verticially<br />
let g:explWinSize=35 &#8221;  width of 35 pixels</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Win Manager<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
let  g:winManagerWidth=35 &#8221; How wide should it be( pixels)<br />
let  g:winManagerWindowLayout = &#8216;FileExplorer,TagsExplorer|BufExplorer&#8217; &#8221;  What windows should it</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  CTags<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
let  Tlist_Ctags_Cmd = &#8216;c:\progra~1\generi~1\ctags.exe&#8217; &#8221; Location of ctags<br />
let  Tlist_Sort_Type = &#8220;name&#8221; &#8221; order by<br />
let Tlist_Use_Right_Window = 1 &#8221;  split to the right side of the screen</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Minibuf<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
let  g:miniBufExplTabWrap = 1 &#8221; make tabs show complete (no broken on two  lines)</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Perl<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
let  perl_extended_vars=1 &#8221; highlight advanced perl vars inside strings</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Custom Functions<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Select range, then hit :SuperRetab($width) &#8211; by p0g and FallingCow<br />
function!  SuperRetab(width) range<br />
silent! exe a:firstline . &#8216;,&#8217; .  a:lastline . &#8217;s/\v%(^ *)@&lt;= {&#8216;. a:width .&#8217;}/\t/g&#8217;<br />
endfunction</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Mappings<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
map  &lt;right&gt; &lt;ESC&gt;:MBEbn&lt;RETURN&gt; &#8221; right arrow (normal  mode) switches buffers  (excluding minibuf)<br />
map &lt;left&gt;  &lt;ESC&gt;:MBEbp&lt;RETURN&gt; &#8221; left arrow (normal mode) switches  buffers (excluding minibuf)<br />
map &lt;up&gt;  &lt;ESC&gt;:Sexplore&lt;RETURN&gt;&lt;ESC&gt;&lt;C-W&gt;&lt;C-W&gt; &#8221; up  arrow (normal mode) brings up a file list<br />
map &lt;down&gt;  &lt;ESC&gt;:Tlist&lt;RETURN&gt; &#8221; down arrow  (normal mode) brings up  the tag list<br />
map &lt;A-i&gt; i &lt;ESC&gt;r &#8221; alt-i (normal mode)  inserts a single char, and then switches back to normal<br />
map  &lt;F2&gt; &lt;ESC&gt;ggVG:call SuperRetab()&lt;left&gt;<br />
map  &lt;F12&gt; ggVGg? &#8221; encypt the file<br />
vmap &lt;C-C&gt;  :s/^/#/g&lt;enter&gt; &#8221; control-c comments block<br />
vmap &lt;C-X&gt;  :s/^#//g&lt;enter&gt; &#8221; control-x uncomments block</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Autocommands<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
autocmd  BufEnter * :syntax sync fromstart &#8221; ensure every file does syntax  highlighting (full)<br />
autocmd BufEnter * :lcd %:p:h &#8221; switch to current  dir<br />
&#8220;autocmd GUIEnter * :simalt ~x &#8221; maximize the screen<br />
au  BufNewFile,BufRead *.asp :set ft=aspjscript &#8221; all my .asp files ARE  jscript</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Programmings abbrevs<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
ab  xif if ( )  {&lt;return&gt;&lt;return&gt;}&lt;up&gt;&lt;up&gt;&lt;end&gt;&lt;left&gt;&lt;left&gt;&lt;left&gt;&lt;left&gt;<br />
ab  xelsif elsif ( )  {&lt;return&gt;&lt;return&gt;}&lt;up&gt;&lt;up&gt;&lt;end&gt;&lt;left&gt;&lt;left&gt;&lt;left&gt;&lt;left&gt;<br />
ab  xelse else  {&lt;return&gt;&lt;return&gt;}&lt;up&gt;&lt;home&gt;&lt;space&gt;&lt;space&gt;&lt;space&gt;<br />
ab  xfor for ( )  {&lt;return&gt;&lt;return&gt;}&lt;up&gt;&lt;up&gt;&lt;end&gt;&lt;left&gt;&lt;left&gt;&lt;left&gt;&lt;left&gt;<br />
ab  xforeach foreach ( )  {&lt;return&gt;&lt;return&gt;}&lt;up&gt;&lt;up&gt;&lt;end&gt;&lt;left&gt;&lt;left&gt;&lt;left&gt;&lt;left&gt;&lt;left&gt;&lt;left&gt;<br />
ab  xwhile while ( )  {&lt;return&gt;&lt;return&gt;}&lt;up&gt;&lt;up&gt;&lt;end&gt;&lt;left&gt;&lt;left&gt;&lt;left&gt;&lt;left&gt;</div>
<div>&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
&#8221;  Informational abbrevs<br />
&#8220;&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"&#8221;"<br />
iab  xdate &lt;c-r&gt;=strftime(&#8220;%d/%m/%y %H:%M:%S&#8221;)&lt;cr&gt;<br />
iab xname  Robert R. Melton<br />
iab xcompany Superlative Technologies, Inc</div>
]]></content:encoded>
			<wfw:commentRss>http://www.result-search.com/sty/2010/02/28/%e6%88%91%e4%bc%b0%e8%ae%a1%e6%8a%8a%e8%bf%99%e4%b8%aa-vimrc-%e7%a0%94%e7%a9%b6%e4%b8%80%e9%81%8d%ef%bc%8cvim-%e5%b0%b1%e6%9c%89%e5%b0%8f%e6%88%90%e4%ba%86.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>15分钟轻松定制基于VIM的IDE</title>
		<link>http://www.result-search.com/sty/2010/02/28/15%e5%88%86%e9%92%9f%e8%bd%bb%e6%9d%be%e5%ae%9a%e5%88%b6%e5%9f%ba%e4%ba%8evim%e7%9a%84ide.html</link>
		<comments>http://www.result-search.com/sty/2010/02/28/15%e5%88%86%e9%92%9f%e8%bd%bb%e6%9d%be%e5%ae%9a%e5%88%b6%e5%9f%ba%e4%ba%8evim%e7%9a%84ide.html#comments</comments>
		<pubDate>Sun, 28 Feb 2010 11:15:15 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[写程序工具]]></category>

		<guid isPermaLink="false">http://www.result-search.com/sty/?p=1436</guid>
		<description><![CDATA[1 背景
VIM被人追捧为“无所不能”的文本编辑器，是很多Unix和Linux程序员的最爱。VIM最大的特点是扩展性极强，功能定制异常灵活。灵活性和复杂性之 间通常是矛盾关系，VIM复杂的定制参数和大量的命令也使得很多新手望而却步（我曾经也是其中之一）。本文不打算介绍详细介绍VIM的定制和扩展方法，而 是试图在最短的时间内、通过最简单的手段将VIM定制为一个适合程序开发的IDE。
本文介绍的定制是通过修改.vimrc文件完成，该文件位于用户的home目录下，如果不存在，创建一个。
2 语法高亮
Ubuntu7.10中VIM默认没有启用语法高亮，如果想在当前编辑窗口中使用，可以在命令模式下输入&#8221;syntax  on&#8221;。但这样每次打开新文件都要重新设置，十分麻烦，所以，可以在.vimrc文件的末尾加上syntax on来默认启用语法高亮。
3 代码缩进
在.vimrc中加入
autocmd FileType *       set  formatoptions=tcql nocindent comments&#38;
autocmd FileType c,cpp,java,pl,sh,py set formatoptions=croql  cindent comments=sr:/*,mb:*,ex:*/,://
意思是只对c,cpp,java,pl,sh,py格式的文件启动自动缩进。你也可以加入自己的文件后缀，例如js。除了对代码段进行缩进外，该设置也对 注释进行了自动缩进，例如，在注释行&#8221;/××&#8221;末尾换行，新行自动对齐到第一个×，并在行头自动加上×号。
4 自动排版
代码自动缩进的设置只对新编写的代码起作用，对于已有的代码怎么办呢？这就需要自动排版功能。
你可以在浏览模式下按1G=G进行自动排版。这对Eclipse的使用者来说很不习惯，因为在Eclipse中排版的快捷键是&#8221;ctrl + shift  + f&#8221;，对于习惯使用Eclipse的程序员，可以在.vimrc中加入以下两行来设置新的快捷键：
nnoremap &#60;c-s-f&#62; 1G=G
inoremap &#60;c-s-f&#62; &#60;ESC&#62;1G=Gi
其中第一行直接将&#8221;ctrl + shift + f&#8221;映射为1G=G，即在浏览模式下使用快捷键&#8221;ctrl + shift +  f&#8221;执行1G=G的功能。第二行使得在编辑模式下也可以使用&#8221;ctrl + shift + f&#8221;进行排版。
5 代码块收放
在阅读大的代码文件时，往往需要在文件的不同部分之间进行跳转，这时，如果能把不关心的部分隐藏起来，那将大大方便代码阅读和编辑。这时代码块的收放功能 就派上用场了。
代码块收放需要安装indent工具，在链接互联网的情况下使用&#8221;sudo apt-get install  indent&#8221;进行安装。
在.vimrc文件中添加：
set foldmethod=indent
意思是说按缩进程度进行代码块的收放，这时需要代码的缩进是标准格式的，否则可以先通过自动排版功能进行排版。
此后，就可以在浏览模式下使用多种快捷键进行代码块的收放，常见的快捷键如下：
zR打开所有。
zM收起所有。
zc收起光标所在的块。
zo打开光标所在的块。
za将光标所在的块置为相反的状态，例如：之前状态是收起的，则打开。
6 [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="font-size: small;">1 背景</span></strong><br />
VIM被人追捧为“无所不能”的文本编辑器，是很多Unix和Linux程序员的最爱。VIM最大的特点是扩展性<span style="color: #0000ff;">极强</span>，功能定制<span style="color: #0000ff;">异常</span>灵活。灵活性和复杂性之 间通常是矛盾关系，VIM复杂的定制参数和大量的命令也使得很多新手望而却步（我曾经也是其中之一）。本文不打算介绍详细介绍VIM的定制和扩展方法，而 是试图在最短的时间内、通过最简单的手段将VIM定制为一个适合程序开发的IDE。</p>
<p>本文介绍的定制是通过修改.vimrc文件完成，该文件位于用户的home目录下，如果不存在，创建一个。</p>
<p><span style="font-size: small;"><strong>2 语法高亮</strong></span><br />
Ubuntu7.10中VIM默认没有启用语法高亮，如果想在当前编辑窗口中使用，可以在命令模式下输入&#8221;syntax  on&#8221;。但这样每次打开新文件都要重新设置，十分麻烦，所以，可以在.vimrc文件的末尾加上syntax on来默认启用语法高亮。</p>
<p><span style="font-size: small;"><strong>3 代码缩进</strong></span><br />
在.vimrc中加入<br />
<span style="color: #808080;">autocmd FileType *       set  formatoptions=tcql nocindent comments&amp;<br />
autocmd FileType c,cpp,java,pl,sh,py set formatoptions=croql  cindent comments=sr:/*,mb:*,ex:*/,://</span><br />
意思是只对c,cpp,java,pl,sh,py格式的文件启动自动缩进。你也可以加入自己的文件后缀，例如js。除了对代码段进行缩进外，该设置也对 注释进行了自动缩进，例如，在注释行&#8221;/××&#8221;末尾换行，新行自动对齐到第一个×，并在行头自动加上×号。</p>
<p><span style="font-size: small;"><strong>4 自动排版</strong></span><br />
代码自动缩进的设置只对新编写的代码起作用，对于已有的代码怎么办呢？这就需要自动排版功能。<br />
你可以在浏览模式下按1G=G进行自动排版。这对Eclipse的使用者来说很不习惯，因为在Eclipse中排版的快捷键是&#8221;ctrl + shift  + f&#8221;，对于习惯使用Eclipse的程序员，可以在.vimrc中加入以下两行来设置新的快捷键：<br />
<span style="color: #808080;">nnoremap &lt;c-s-f&gt; 1G=G<br />
inoremap &lt;c-s-f&gt; &lt;ESC&gt;1G=Gi</span><br />
其中第一行直接将&#8221;ctrl + shift + f&#8221;映射为1G=G，即在浏览模式下使用快捷键&#8221;ctrl + shift +  f&#8221;执行1G=G的功能。第二行使得在编辑模式下也可以使用&#8221;ctrl + shift + f&#8221;进行排版。<span id="more-1436"></span></p>
<p><span style="font-size: small;"><strong>5 代码块收放</strong></span><br />
在阅读大的代码文件时，往往需要在文件的不同部分之间进行跳转，这时，如果能把不关心的部分隐藏起来，那将大大方便代码阅读和编辑。这时代码块的收放功能 就派上用场了。<br />
代码块收放需要安装indent工具，在链接互联网的情况下使用&#8221;sudo apt-get install  indent&#8221;进行安装。<br />
在.vimrc文件中添加：<br />
<span style="color: #808080;">set foldmethod=indent</span><br />
意思是说按缩进程度进行代码块的收放，这时需要代码的缩进是标准格式的，否则可以先通过自动排版功能进行排版。<br />
此后，就可以在浏览模式下使用多种快捷键进行代码块的收放，常见的快捷键如下：<br />
zR打开所有。<br />
zM收起所有。<br />
zc收起光标所在的块。<br />
zo打开光标所在的块。<br />
za将光标所在的块置为相反的状态，例如：之前状态是收起的，则打开。</p>
<p><span style="font-size: small;"><strong>6 模板</strong></span><br />
分两个层次来介绍模板的定制方法：文件级和代码级。<br />
文件级的模板主要在创建新的代码文件时自动生成文件的结构，例如：对于Java类来说可以自动生成如下结构：<br />
<span style="color: #999999;">package &lt;+PACKAGE+&gt;;</span></p>
<p>import java.util.*;</p>
<p>/**<br />
*<br />
* @author zhengjian<br />
*/<br />
public class &lt;+CLASSNAME+&gt; {</p>
<p>}<br />
需要做以下工作来实现上述功能：创建模板文件，配置模板和文件类型之间的映射。以Java模板为例：<br />
a)  在$VIMHOME/templates下创建java.tpl，其中java是Java文件的后缀名，tpl是模板文件后缀。<br />
b) 在.vimrc文件中添加&#8221;autocmd BufNewFile * silent! 0r  $VIMHOME/templates/%:e.tpl&#8221;。意思是使用代码文件的后缀名和模板文件名进行管理。所以你可以在$VIMHOME /templates下创建一个名为html.tpl的模板文件，当使用vim创建一个新的html文件时，将自动使用html.tpl模板文件。</p>
<p>代码级的模板通常是一些经常编写的代码段，例如：for循环结构，这可以通过缩写功能实现。在.vimrc文件中加入命令&#8221;iabbrev  &lt;buffer&gt; for( for (int i=0; i &lt; var; i++)  {&lt;cr&gt;}&#8221;，则在以后编辑过程中要用到for循环结构时，只需输入&#8221;for(&#8220;并按空格键，VIM便会自动使用&#8221;for (int  i=0; i &lt; var; i++) {\n}&#8221;来替换&#8221;for(&#8220;。利用类似的方法，可以定制其它的代码模块，例如while循环结构等。</p>
<p><span style="font-size: small;"><strong>7 跳转</strong></span><br />
实际编写的程序都是由很多文件组成的，当阅读代码时，如果能快速地跳转到引用的文件，则会大大提高效率。VIM默认提供了这样的功能，例如：将光标移 到&#8221;import org.pname.ClassName;&#8221;的ClassName上，按g  f键。则VIM会搜索并打开org/pname/ClassName.java文件，搜索的范围有path选项决定。你可以在命令行下输入&#8221;set  path=<em>dir</em>&#8220;来指定path选项值，当然你也可以将该选项值写入.vimrc文件中。gf也适用于C文件中#include包含 的文件。</p>
<p>另外一种更为方便的跳转是，跳转到方法或属性的定义。这需要适用外部工具ctags来实现。详情见help ctags。</p>
<p><span style="font-size: small;"><strong>8 变量名补全</strong></span><br />
一般来说，适当长一些的变量名能表达能多的变量的信息，所以更值得推荐。但是在使用这种变量时，每次都输入完整的变量名的话，很麻烦，所以一般的IDE都 提供变量名自动补全或提示功能，幸运的是VIM也提供类似的功能。输入要使用的变量名的前几个字母，按ctrl +  p，VIM会自动补全变量名，如果有多个匹配变量名的话，则会以列表形式显示出来，你可以通过ctrl + p、ctrl +  n选择合适的变量名。实际上，这不是专门用于变量名提示的，这里列出的变量名是当前窗口中(包含所有的buffer)所有满足的单词。<br />
<span style="font-size: small;"><strong><br />
9 后记</strong></span><br />
本文的例子中，多次以Java文件为例。但我并不赞同使用VIM作为大型Java程序的IDE，Java语言是一种强类型语言，其类型设计和语法结构使得 在编译的时候就能发现绝大部分语法错误，这种尽早发现错误的手段必定会大大提高开发效率(实际上，这也是我们常说的Java语言比较安全、适合大型程序开 发的原因之一)。而编写小程序、编写脚本程序则非常适合使用VIM，因为脚本语言提供的静态类型检查功能是非常弱的，专门的IDE也不可能提供强大的静态 检测功能。</p>
<p><span style="font-size: small;"><strong>10 参考资料</strong></span><br />
Kim Schulz编著的<a href="http://www.google.com/search?q=Hacking%20Vim" target="_blank">Hacking  Vim</a><br />
<a href="http://www.oualline.com/10/top_10.html" target="_blank">Top 10 things Vi user need to know about Vim</a><br />
vim manual 正如很多人说得一样vim 的help命令信息非常丰富，善用！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.result-search.com/sty/2010/02/28/15%e5%88%86%e9%92%9f%e8%bd%bb%e6%9d%be%e5%ae%9a%e5%88%b6%e5%9f%ba%e4%ba%8evim%e7%9a%84ide.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery 页面载入进度条</title>
		<link>http://www.result-search.com/sty/2010/01/29/jquery-%e9%a1%b5%e9%9d%a2%e8%bd%bd%e5%85%a5%e8%bf%9b%e5%ba%a6%e6%9d%a1.html</link>
		<comments>http://www.result-search.com/sty/2010/01/29/jquery-%e9%a1%b5%e9%9d%a2%e8%bd%bd%e5%85%a5%e8%bf%9b%e5%ba%a6%e6%9d%a1.html#comments</comments>
		<pubDate>Fri, 29 Jan 2010 12:56:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ajax-jquery-effect]]></category>

		<guid isPermaLink="false">http://www.result-search.com/sty/?p=1416</guid>
		<description><![CDATA[页面 Loading 条基本人人都会用。它的原理很简单：在页头放置一个文字或者图片的 loading 状态，然后页尾载入一段 JS  隐藏掉，即根据浏览器的载入顺序来实现的简易 Loading 状态条。

上图展示了传统 Wordpress 模板在浏览器中的载入顺序，Loading 条的出现和消失分布于头尾。

如果我们在页面的不同位置放置多个 JS ，每个 JS 用于逐步增加 Loading 条的宽度，那么这个 Loading  条无疑会更具实用价值。它在一定程度上缓解了访客等待载入的枯燥感，同时还能客观反映页面载入的进度。若再配以 jQuery  内建的动画效果，其完全可以与浏览器自带的状态条媲美。
先来看一个演示：地址。
要得到演示上的进度条效果，首 先，引入 jQuery 框架(一定要放在页头 &#60;head&#62; 标签内)。然后在 &#60;body&#62; 标签起始位置放置：
&#60;div  id=&#8221;loading&#8221;&#62;&#60;div&#62;&#60;/div&#62;&#60;/div&#62;
CSS 可以这么写：
#loading {
width:100px;
height:20px;
background:#A0DB0E;
padding:5px;
position:fixed;
left:0;
top:0;
}
#loading div {
width:1px;
height:20px;
background:#F1FF4D;
}
准备工作到这里就做好了。
接着，请随意发 挥，依照你对图二的理解，在模板各个部分的适当位置放置：
&#60;script type=&#8221;text/javascript&#8221;&#62;
$(&#8220;#loading div&#8221;).animate({width:&#8221;16px&#8220;})
&#60;/script&#62;
其中红色数值应该随载入顺序逐步增加，直到 footer.php。另外别忘了在 footer.php 最末尾放上：
&#60;script type=&#8221;text/javascript&#8221;&#62;
$(&#8220;#loading&#8221;).fadeOut()
&#60;/script&#62;
用于载入完毕后隐藏进度条。
]]></description>
			<content:encoded><![CDATA[<p>页面 Loading 条基本人人都会用。它的原理很简单：在页头放置一个文字或者图片的 loading 状态，然后页尾载入一段 JS  隐藏掉，即根据浏览器的载入顺序来实现的简易 Loading 状态条。</p>
<p style="text-indent: 0px; text-align: center;"><img src="http://pic.yupoo.com/shawnster/986806c7e2f0/18mhed7m.jpg" alt="loading Process traditional" width="474" height="363" /></p>
<p>上图展示了传统 Wordpress 模板在浏览器中的载入顺序，Loading 条的出现和消失分布于头尾。</p>
<p style="text-indent: 0px; text-align: center;"><img src="http://pic.yupoo.com/shawnster/620986c7e2f0/sxgxbof7.jpg" alt="new  loading bar" width="474" height="363" /></p>
<p>如果我们在页面的不同位置放置多个 JS ，每个 JS 用于逐步增加 Loading 条的宽度，那么这个 Loading  条无疑会更具实用价值。它在一定程度上缓解了访客等待载入的枯燥感，同时还能客观反映页面载入的进度。若再配以 jQuery  内建的动画效果，其完全可以与浏览器自带的状态条媲美。</p>
<p>先来看一个演示：<a rel="external nofollow" href="http://ishawn.net/jQuery/loadingbar.html"><em>地址</em></a>。</p>
<p>要得到演示上的进度条效果，<span style="color: #993300;"><strong></strong><strong>首 先</strong></span>，引入 jQuery 框架(一定要放在页头 <code>&lt;head&gt;</code> 标签内)。然后在 &lt;body&gt; 标签起始位置放置：</p>
<p>&lt;div  id=&#8221;loading&#8221;&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;</p>
<p>CSS 可以这么写：</p>
<p>#loading {<br />
width:100px;<br />
height:20px;<br />
background:#A0DB0E;<br />
padding:5px;<br />
position:fixed;<br />
left:0;<br />
top:0;<br />
}<br />
#loading div {<br />
width:1px;<br />
height:20px;<br />
background:#F1FF4D;<br />
}</p>
<p>准备工作到这里就做好了。</p>
<p><span style="color: #993300;"><strong>接着</strong></span>，请随意发 挥，依照你对图二的理解，在模板各个部分的适当位置放置：</p>
<p>&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
$(&#8220;#loading div&#8221;).animate({width:&#8221;<span style="color: #ff0000;">16px</span>&#8220;})<br />
&lt;/script&gt;</p>
<p>其中红色数值应该随载入顺序逐步增加，直到 footer.php。另外别忘了在 footer.php 最末尾放上：</p>
<p>&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
$(&#8220;#loading&#8221;).fadeOut()<br />
&lt;/script&gt;</p>
<p>用于载入完毕后隐藏进度条。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.result-search.com/sty/2010/01/29/jquery-%e9%a1%b5%e9%9d%a2%e8%bd%bd%e5%85%a5%e8%bf%9b%e5%ba%a6%e6%9d%a1.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>7款WordPress代码语法高亮插件</title>
		<link>http://www.result-search.com/sty/2010/01/23/7%e6%ac%bewordpress%e4%bb%a3%e7%a0%81%e8%af%ad%e6%b3%95%e9%ab%98%e4%ba%ae%e6%8f%92%e4%bb%b6.html</link>
		<comments>http://www.result-search.com/sty/2010/01/23/7%e6%ac%bewordpress%e4%bb%a3%e7%a0%81%e8%af%ad%e6%b3%95%e9%ab%98%e4%ba%ae%e6%8f%92%e4%bb%b6.html#comments</comments>
		<pubDate>Fri, 22 Jan 2010 21:47:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[wordpress-plugin]]></category>

		<guid isPermaLink="false">http://www.result-search.com/sty/?p=1399</guid>
		<description><![CDATA[对于wordpress用户来说，有很多代码语法高亮的插件，这里介绍7款。
Syntax Highlighter
也就是Google Syntax Highlighter for WordPress。 一款帮助开发者/coder 发表代码片段更加简单和漂亮的插件。完全基于javascript。这个我没试用过。wefunction.com 使用的就是这款插件，你可以看看效果页面。非常强，支持以 Plain Text 方式浏览代码，支持快速剪切和打印。首推这款。
Highlight Source Pro
强大，灵活，Xhtml 兼容的代码高亮插件。很上面的Syntac Highlighter 正好相反，它是一款服务器端的代码高亮插件，没有Javascript。
iG Syntax Hiliter
非常强大的代码语法高亮插件，支持多种代码语言，包括as, asp, c, cpp, csharp, css, delphi, html, java, js, mysql, perl, php, python, ruby, smarty, sql, vb, vbnet, xml, code。同时包含详细的后台设置项，比如以Plain Text方式看代码, 显示代码语言名称，是否高亮留言列表中的代码，是否显示行数等。
不过它使用的是[tag]代码部份[/tag] 这样的方法渲染代码，比如 [php]代码片段[/php]，考虑日后可能发生的更改和兼容问题的话，似乎不太适合。当然，你也可以不用考虑那么多。

WordPress Code Highlight
这是比较早的一款WordPress 代码高亮插件了。使用简单，功能也相对贫乏一些。适合要求不多的用户。
Cool Code
这是国人根据 Chroder.com 的 WordPress Code Highlight 插件修改而成的WordPress代码高亮插件。但 CoolCode 插件在它基础上修改了很多的内容。支持10多种语言代码，详情看作者的发布页。
WP-CODEBOX
WP-CODEBOX [...]]]></description>
			<content:encoded><![CDATA[<p>对于wordpress用户来说，有很多代码语法高亮的插件，这里介绍7款。</p>
<p><a href="http://code.google.com/p/syntaxhighlighter/" target="_blank"><strong>Syntax Highlighter</strong><strong></strong></a></p>
<p>也就是<strong>Google Syntax Highlighter for WordPress</strong>。 一款帮助开发者/coder 发表代码片段更加简单和漂亮的插件。完全基于javascript。这个我没试用过。<a href="http://wefunction.com/2008/10/tutorial-creating-custom-write-panels-in-wordpress/" target="_blank">wefunction.com</a> 使用的就是这款插件，你可以看看<a href="http://wefunction.com/2008/10/tutorial-creating-custom-write-panels-in-wordpress/" target="_blank">效果页面</a>。非常强，支持以 Plain Text 方式浏览代码，支持快速剪切和打印。<strong>首推这款</strong>。</p>
<p><a href="http://blog.kno.at/tools/highlight-source-pro" target="_blank">Highlight Source Pro</a></p>
<p>强大，灵活，Xhtml 兼容的代码高亮插件。很上面的Syntac Highlighter 正好相反，它是一款服务器端的代码高亮插件，没有Javascript。</p>
<p><strong><a href="http://blog.igeek.info/still-fresh/2006/02/25/code-for-fun/" target="_blank">iG Syntax Hiliter</a></strong></p>
<p>非常强大的代码语法高亮插件，支持多种代码语言，包括as, asp, c, cpp, csharp, css, delphi, html, java, js, mysql, perl, php, python, ruby, smarty, sql, vb, vbnet, xml, code。同时包含详细的后台设置项，比如以Plain Text方式看代码, 显示代码语言名称，是否高亮留言列表中的代码，是否显示行数等。</p>
<p>不过它使用的是<strong>[tag]代码部份[/tag]</strong> 这样的方法渲染代码，比如<span style="color: #ff6600;"> [php]代码片段[/php]</span>，考虑日后可能发生的更改和兼容问题的话，似乎不太适合。当然，你也可以不用考虑那么多。<br />
<span id="more-1399"></span><br />
<strong><a href="http://www.chroder.com/archives/2005/04/16/wordpress-codehighlight-plugin/" target="_blank">WordPress Code Highlight</a></strong></p>
<p>这是比较早的一款WordPress 代码高亮插件了。使用简单，功能也相对贫乏一些。适合要求不多的用户。</p>
<p><strong>Cool Code</strong></p>
<p>这是国人根据 <a href="http://www.chroder.com/archives/2005/04/16/wordpress-codehighlight-plugin/"><span style="color: #2c4a69;">Chroder.com</span></a> 的 WordPress Code Highlight 插件修改而成的WordPress代码高亮插件。但 CoolCode 插件在它基础上修改了很多的内容。支持10多种语言代码，详情看作者的发布页。</p>
<p><a href="http://www.ericbess.com/ericblog/2008/03/03/wp-codebox/" target="_blank"><strong>WP-CODEBOX</strong></a></p>
<p>WP-CODEBOX 代码高亮插件也是国人开发的，支持多种语言、代码下载、复制到剪贴板、代码框收放及后台默认属性设置。相对Cool Code，它的好处是使用标准的<strong>&lt;code&gt;&lt;/code&gt;</strong>标签。不过，这个插件似乎是对WordPress Code Highlight 修改而来的，主要就是支持了CODE 标签以及美化了一下样式。</p>
<p><strong><a href="http://wordpress.org/extend/plugins/wp-syntax/">WP-Syntax </a></strong></p>
<p>WP – Syntax 以<span style="color: #ff6600;">&lt; pre lang=”php”&gt; 代码内容 &lt; /pre &gt;</span>这种形式来实现代码高亮，即保留了标准的HTML标签，又实现了美化效果。可以说是兼容性最好。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.result-search.com/sty/2010/01/23/7%e6%ac%bewordpress%e4%bb%a3%e7%a0%81%e8%af%ad%e6%b3%95%e9%ab%98%e4%ba%ae%e6%8f%92%e4%bb%b6.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
