<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
  <channel>
    <title>网路冷眼</title>
    <description>网路冷眼</description>
    <link>http://lewhwa.javaeye.com</link>
    <language>UTF-8</language>
    <copyright>Copyright 2003-2008, JavaEye.com</copyright>
    <docs>http://blogs.law.harvard.edu/tech/rss</docs>
    <generator>JavaEye - 做最棒的软件开发交流社区</generator>
      <item>
        <title>答复: 安装rails2.1以后用netbeans无法调试</title>
        <author>lewhwa</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lewhwa.javaeye.com">lewhwa</a>&nbsp;
          链接：<a href="http://lewhwa.javaeye.com/blog/200669" style="color:red;">http://lewhwa.javaeye.com/blog/200669</a>&nbsp;
          发表时间: 2008年06月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <div class="quote_title">baryon 写道</div><div class="quote_div">安装rails2.1以后用netbeans无法调试，按DEBUG，IE浏览器无法启动<br />有时一直处于server startup状态，WEBrick无法启动，有时WEBrick可以启动，却不自动打开IE<br /><br />如果按F6执行，WEBrick可以启动，有时候程序会报错<br />"no marshal_dump is defined for class StringIO" <br /><br />大家有没有遇到过</div><br />应该没有问题。请将NetBeans 有关JRuby debug要一并升级！
          <br/>
          <span style="color:red;">
            <a href="http://lewhwa.javaeye.com/blog/200669#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 05 Jun 2008 20:17:54 +0800</pubDate>
        <link>http://lewhwa.javaeye.com/blog/200669</link>
        <guid>http://lewhwa.javaeye.com/blog/200669</guid>
      </item>
      <item>
        <title>BitNami Trac Stack release </title>
        <author>lewhwa</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lewhwa.javaeye.com">lewhwa</a>&nbsp;
          链接：<a href="http://lewhwa.javaeye.com/blog/200236" style="color:red;">http://lewhwa.javaeye.com/blog/200236</a>&nbsp;
          发表时间: 2008年06月04日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          BitNami Trac Stack was released as Trac 0.10.4-7 on Windows,Mac,Linux as well.<br /><br />BitNami Trac Stack is an easy to use installer for Trac, which is an enhanced wiki and issue tracking system for software development projects. Trac uses a minimalistic approach to web-based software project management.The project's mission is to help developers write great software while staying out of the way. Trac should impose as little as possible on a team's established development process and policies.<br /><br />It provides an interface to Subversion, an integrated Wiki and convenient reporting facilities.<br /><br />Trac allows wiki markup in issue descriptions and commit messages, creating links and seamless references between bugs, tasks, changesets, files and wiki pages. A timeline shows all project events in order, making the acquisition of an overview of the project and tracking progress very easy.<br /><br />BitNami Trac Stack Homepage:<a href="http://bitnami.org/stack/trac" target="_blank">http://bitnami.org/stack/trac</a><br /><br />Trac Homepage: <a href="http://trac.edgewall.org/" target="_blank">http://trac.edgewall.org/</a>
          <br/>
          <span style="color:red;">
            <a href="http://lewhwa.javaeye.com/blog/200236#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 04 Jun 2008 19:14:35 +0800</pubDate>
        <link>http://lewhwa.javaeye.com/blog/200236</link>
        <guid>http://lewhwa.javaeye.com/blog/200236</guid>
      </item>
      <item>
        <title>NetBeans 6.0 最终版发布并提供下载</title>
        <author>lewhwa</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lewhwa.javaeye.com">lewhwa</a>&nbsp;
          链接：<a href="http://lewhwa.javaeye.com/blog/145691" style="color:red;">http://lewhwa.javaeye.com/blog/145691</a>&nbsp;
          发表时间: 2007年12月03日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          经过Beta1，Beta2和RC1和RC2之后，NetBeans 6.0最终版今天发布并提供下载.URL为http://dlc.sun.com.edgesuite.net/netbeans/6.0/final/。<br />NetBeans的官方网站也随之改版，其外观比原先美观了不少。
          <br/>
          <span style="color:red;">
            <a href="http://lewhwa.javaeye.com/blog/145691#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Mon, 03 Dec 2007 20:16:44 +0800</pubDate>
        <link>http://lewhwa.javaeye.com/blog/145691</link>
        <guid>http://lewhwa.javaeye.com/blog/145691</guid>
      </item>
      <item>
        <title>NetBeans 6.0 Beta2释出</title>
        <author>lewhwa</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lewhwa.javaeye.com">lewhwa</a>&nbsp;
          链接：<a href="http://lewhwa.javaeye.com/blog/135293" style="color:red;">http://lewhwa.javaeye.com/blog/135293</a>&nbsp;
          发表时间: 2007年10月24日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p>&nbsp;&nbsp;&nbsp; NetBeans IDE Beta 2现已提供下载，下载地址见后。</p>
<p>&nbsp;&nbsp;&nbsp; Netbeans IDE beta 2 新功能介绍</p>
<div class="tpc_content" id="read_tpc">
<ol type="1" style="margin: 0pt 0pt 0pt 25px;">
    <li>在<span id="rlt_2" onclick="sendmsg('pw_ajax.php','action=relatetag&amp;tagname=NetBeans',this.id)" style="border-bottom: 1px solid rgb(250, 137, 27); cursor: pointer;">NetBeans</span> <span id="rlt_1" onclick="sendmsg('pw_ajax.php','action=relatetag&amp;tagname=IDE',this.id)" style="border-bottom: 1px solid rgb(250, 137, 27); cursor: pointer;">IDE</span>加入了Profiler，Visual Web，UML，SOA以后不需要单独下载安装。 </li>
    <li>全新的编辑器。 </li>
    <li>Ruby/JRuby/Ruby支持。 </li>
    <li>更简单的安装与升级。 </li>
    <li>Swing <span id="rlt_3" onclick="sendmsg('pw_ajax.php','action=relatetag&amp;tagname=GUI',this.id)" style="border-bottom: 1px solid rgb(250, 137, 27); cursor: pointer;">GUI</span> 开发的增强。 </li>
    <li>Profiling增强。 </li>
    <li>Web and Java EE的增强功能。 </li>
    <li>Mobility增强功能。 </li>
    <li>SOA增强功能。 </li>
    <li>UML增强功能 </li>
    <li>NetBeans 平台 API 增强。</li>
</ol>
下载地址：<a href="http://www.netbeans.org/community/releases/60/index.html" target="_blank">http://www.netbeans.org/community/releases/60/index.html</a></div>
          <br/>
          <span style="color:red;">
            <a href="http://lewhwa.javaeye.com/blog/135293#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 24 Oct 2007 22:36:56 +0800</pubDate>
        <link>http://lewhwa.javaeye.com/blog/135293</link>
        <guid>http://lewhwa.javaeye.com/blog/135293</guid>
      </item>
      <item>
        <title>测试分类</title>
        <author>lewhwa</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lewhwa.javaeye.com">lewhwa</a>&nbsp;
          链接：<a href="http://lewhwa.javaeye.com/blog/131635" style="color:red;">http://lewhwa.javaeye.com/blog/131635</a>&nbsp;
          发表时间: 2007年10月13日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          单元测试：单元测试是对<span href="http://bbs.51testing.com/tag.php?name=%C8%ED%BC%FE" class="t_tag" onclick="tagshow(event)">软件</span>中的基本组成单位进行的测试，如一个模块、一个过程等等。它是<span href="http://bbs.51testing.com/tag.php?name=%C8%ED%BC%FE" class="t_tag" onclick="tagshow(event)">软件</span>动态测试的最基本的部分，也是最重要的部分之一，其目的是检验<span href="http://bbs.51testing.com/tag.php?name=%C8%ED%BC%FE" class="t_tag" onclick="tagshow(event)">软件</span>基本组成单位的正确性。一个<span href="http://bbs.51testing.com/tag.php?name=%C8%ED%BC%FE" class="t_tag" onclick="tagshow(event)">软件</span>单元的正确性是相对于该单元的规约而言的。因此，单元测试以被测试单位的规约为基准。单元测试的主要方法有控制流测试、数据流测试、排错测试、分域测试等等。<br />
<br />
集成测试：集成测试是在软件<span href="http://bbs.51testing.com/tag.php?name=%CF%B5%CD%B3" class="t_tag" onclick="tagshow(event)">系统</span>集成过程中所进行的测试，其主要目的是检查软件单位之间的接口是否正确。它根据集成测试计划，一边将模块或其他软件单位组合成越来越大的<span href="http://bbs.51testing.com/tag.php?name=%CF%B5%CD%B3" class="t_tag" onclick="tagshow(event)">系统</span>，一边运行该<span href="http://bbs.51testing.com/tag.php?name=%CF%B5%CD%B3" class="t_tag" onclick="tagshow(event)">系统</span>，以分析所组成的<span href="http://bbs.51testing.com/tag.php?name=%CF%B5%CD%B3" class="t_tag" onclick="tagshow(event)">系统</span>是否正确，各组成部分是否合拍。集成测试的策略主要有自顶向下和自底向上两种。<br />
<br />
系统测试：系统测试是对已经集成好的软件系统进行彻底的测试，以验证软件系统的正确性和性能等满足其规约所指定的要求，检查软件的行为和输出是否正确并非 一项简单的任务，它被称为测试的&ldquo;先知者问题&rdquo;。因此，系统测试应该按照测试计划进行，其输入、输出和其他动态运行行为应该与软件规约进行<span href="http://bbs.51testing.com/tag.php?name=%B6%D4%B1%C8" class="t_tag" onclick="tagshow(event)">对比</span>。软件系统测试方法很多，主要有功能测试、性能测试、随机测试等等。<br />
<br />
验收测试：验收测试旨在向软件的购买者展示该软件系统满足其用户的需求。它的测试数据通常是系统测试的测试数据的子集。所不同的是，验收测试常常有软件系统的购买者代表在现场，甚至是在软件安装使用的现场。这是软件在投入使用之前的最后测试。<br />
<br />
回归测试：回归测试是在软件维护阶段，对软件进行修改之后进行的测试。其目的是检验对软件进行的修改是否正确。这里，修改的正确性有两重含义：一是所作的修改达到了预定目的，如错误得到改正，能够适应新的运行环境等等；二是不影响软件的其他功能的正确性。
          <br/>
          <span style="color:red;">
            <a href="http://lewhwa.javaeye.com/blog/131635#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sat, 13 Oct 2007 13:16:46 +0800</pubDate>
        <link>http://lewhwa.javaeye.com/blog/131635</link>
        <guid>http://lewhwa.javaeye.com/blog/131635</guid>
      </item>
      <item>
        <title>NetBeans 6.0 Beta is available!</title>
        <author>lewhwa</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lewhwa.javaeye.com">lewhwa</a>&nbsp;
          链接：<a href="http://lewhwa.javaeye.com/blog/124865" style="color:red;">http://lewhwa.javaeye.com/blog/124865</a>&nbsp;
          发表时间: 2007年09月18日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          NetBeans.org is proud to announce the availability of NetBeans IDE 6.0 Beta 1. <a href="http://dlc.sun.com/netbeans/download/6_0/beta1/">Download it now</a> and achieve superior developer productivity with a smarter, faster editor, and the integration of all NetBeans products into one IDE. Highlights of the NetBeans IDE 6.0 release are:<br />
<br />
<strong>Java</strong>
<ul>
    <li>Swing GUI Builder</li>
    <li>Intelligent Editor</li>
    <li>Profiler</li>
    <li>Debugger</li>
    <li>Updated Platform APIs</li>
</ul>
<strong>Ruby</strong>
<ul>
    <li>Ruby on Rails Support</li>
    <li>JRuby Runtime</li>
    <li>Code Completion</li>
    <li>Debugger</li>
    <li>Refactoring</li>
</ul>
<strong>Mobility</strong>
<ul>
    <li> Game Builder</li>
    <li>Device Fragmentation</li>
    <li>SVG Graphics</li>
    <li>Web Services</li>
    <li>Handheld Devices/Set Top Boxes</li>
</ul>
<strong>Web &amp; Java EE</strong>
<ul>
    <li>Visual JSF Design</li>
    <li>Enhanced JavaScript</li>
    <li>AJAX Enabled Components</li>
    <li>CSS Editor</li>
    <li>Web Services</li>
</ul>
<strong>SOA</strong>
<ul>
    <li>XML Schema Editor, XSLT Designer</li>
    <li>WSDL Designer</li>
    <li>BPEL Designer</li>
    <li>Service Assembly Editor</li>
    <li>Deploy to JBI compliant runtime</li>
</ul>
<strong>C/C++</strong>
<ul>
    <li>Easy Navigation</li>
    <li>Multiple Configurations</li>
    <li>Code Completion</li>
    <li>Debugger</li>
    <li>Cross Platform</li>
</ul>
The final NetBeans IDE 6.0 release is planned for late 2007. As always, we welcome and encourage your feedback and the sharing of your experience using the NetBeans IDE on our <a href="http://www.netbeans.org/community/lists/top.html">mailing  lists</a> and in your <a href="http://www.planetnetbeans.org/">blogs</a>! <br />
<br />
<p>NetBeans IDE 6.0 <a href="http://dlc.sun.com/netbeans/download/6_0/beta1/">Beta Download</a> <br />
NetBeans IDE 6.0 <a href="http://www.netbeans.org/community/releases/60/index.html">Release Page</a> <br />
NetBeans IDE 6.0 <a href="http://www.netbeans.org/kb/60/index.html">Tutorials and Documentation</a>  <br />
NetBeans IDE 6.0 <a href="http://wiki.netbeans.org/wiki/view/NewAndNoteWorthy">Detailed Feature List</a> </p>
<br />
<br />
<a href="http://www.netbeans.org/"><strong>NetBeans:</strong></a> <em>The only IDE you need.</em>
          <br/>
          <span style="color:red;">
            <a href="http://lewhwa.javaeye.com/blog/124865#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Tue, 18 Sep 2007 08:53:23 +0800</pubDate>
        <link>http://lewhwa.javaeye.com/blog/124865</link>
        <guid>http://lewhwa.javaeye.com/blog/124865</guid>
      </item>
      <item>
        <title>健康指南:人体十大最佳黄金时间</title>
        <author>lewhwa</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lewhwa.javaeye.com">lewhwa</a>&nbsp;
          链接：<a href="http://lewhwa.javaeye.com/blog/122387" style="color:red;">http://lewhwa.javaeye.com/blog/122387</a>&nbsp;
          发表时间: 2007年09月09日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <font face="Arial">⒈刷牙的最佳时间 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 饭后3分钟是漱口、刷牙的最佳时间。因为这时，口腔的细菌开始分解食物残渣，其产生的酸性物质易腐蚀、溶解牙釉质，使牙齿受到损害。 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; ⒉饮茶的最佳时间 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 饮茶养生的最佳时间是用餐1小时后。不少人喜欢饭后马上饮热茶，这是很不科学的。因为茶叶中的鞣酸可与食物中的铁结合成不溶性的铁盐，干扰人体对铁的吸收，时间一长可诱发贫血。 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; ⒊喝牛奶的最佳时间 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 因牛奶含有丰富的钙，中老年人睡觉前饮用，可补偿夜间血钙的低落状态而保护骨骼。同时，牛奶有催眠作用。 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; ⒋吃水果的最佳时间 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 吃水果的最佳时间是饭前1小时。因为水果属生食，吃生食后再吃熟食，体内白细胞就不会增多，有利于保护人体免疫系统。 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; ⒌晒太阳的最佳时间 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 上午8时至10时和下午4时至7时，是晒太阳养生的最佳时间。此时日光以有益的紫外线A光束为主，可使人体产生维生素D，从而增强人体免疫系统的抗痨和防止骨质疏松的能力，并减少动脉硬化的发病率。 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; ⒍美容的最佳时间 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 皮肤的新陈代谢在24点至次日凌晨6点最为旺盛，因此晚上睡前使用化妆品进行美容护肤效果最佳，能起到促进新陈代谢和保护皮肤健康的功效。 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; ⒎散步的最佳时间 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 饭后45分钟至60分钟，以每小时4.8公里的速度散步20分钟，热量消耗最大，最有利于减肥。如果在饭后两小时后再散步，效果会更好。 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; ⒏洗澡的最佳时间 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 每天晚上睡觉前来一个温水浴(35℃～45℃)，能使全身的肌肉、关节松弛，血液循环加快，帮助你安然入睡。 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; ⒐睡眠的最佳时间 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 午睡最好从13点开始，这时人体感觉已下降，很容易入睡。晚上则以22点至23点上床为佳，因为人的深睡时间在24点至次日凌晨3点，而人在睡后一个半小时即进入深睡状态。 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 10.锻炼的最佳时间 <br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; 傍晚锻炼最为有益。原因是：人类的体力发挥或身体的适应能力，均以下午或接近黄昏时分为最佳。此时，人的味觉、视觉、听觉等感觉最敏感，全身协调能力最强，尤其是心律与血压都较平稳，最适宜锻炼。 </font>
          <br/>
          <span style="color:red;">
            <a href="http://lewhwa.javaeye.com/blog/122387#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 09 Sep 2007 13:50:59 +0800</pubDate>
        <link>http://lewhwa.javaeye.com/blog/122387</link>
        <guid>http://lewhwa.javaeye.com/blog/122387</guid>
      </item>
      <item>
        <title>PowerPoint技巧大集合</title>
        <author>lewhwa</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lewhwa.javaeye.com">lewhwa</a>&nbsp;
          链接：<a href="http://lewhwa.javaeye.com/blog/121076" style="color:red;">http://lewhwa.javaeye.com/blog/121076</a>&nbsp;
          发表时间: 2007年09月06日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          在阅读本文之前，你可能已经使用了很长时间的Microsoft PowerPoint，你能够自己创建演示文稿并把它们有效地组织到一起，甚至还能帮助那些初学者。但PowerPoint还有一些不太为人所知的功能， 这些功能可以帮助你提高工作效率并制作出更漂亮的演示文稿。本文介绍的15个专业技巧能够让你像专家一样使用PowerPoint。　　 <br />
<br />
<strong>六个方便的键盘快捷方式</strong>　　 <br />
<br />
通常情况下，你可以利用屏幕左下角的视图按钮在几种不同的视图状态（普通视图、幻灯片浏览视图、幻灯片放映）之间进行快速切换。但你恐怕不知道使用键盘与视图按钮相配合还可以获得完全不同的效果。　　 <br />
<br />
例如，当你点击&ldquo;普通视图&rdquo;按钮时如果按下Shift键就可以切换到&ldquo;幻灯片母版视图&rdquo;；再点击一次&ldquo;普通视图&rdquo;按钮（不按Shift键）则可以切换回来。而如果点击&ldquo;幻灯片浏览视图&rdquo;按钮时按下Shift键就可以切换到&ldquo;讲义母版视图&rdquo;。　　 <br />
<br />
另外，你还能让PowerPoint在屏幕的左上角显示幻灯片的缩略图，这样就能在编辑的时候预览得到的结果。为了实现这个效果，你需要进入&ldquo;普通视 图&rdquo;，然后选择第一个想要显示的幻灯片。按住Ctrl键并点击&ldquo;幻灯片放映&rdquo;按钮。你可以点击幻灯片缩略图进行换片，就像进行全屏幕幻灯片放映时一样。　 　 <br />
<br />
如果想得到更多的选项，可以按住Ctrl-Shift键然后再按各种不同的视图按钮：Ctrl-Shift-&ldquo;普通视图&rdquo;按钮 会关闭左侧的标记区和备注页，并把幻灯片扩充到可用的空间。Ctrl-Shift-&ldquo;幻灯片浏览视图&rdquo;按钮则可以把演示文稿显示为大纲模式；Ctrl- Shift-&ldquo;幻灯片放映&rdquo;按钮会打开一个&ldquo;设置放映方式&rdquo;对话框。　　 <br />
<br />
<strong>使用动画效果</strong>　　 <br />
<br />
采用带有动画效果的幻灯片对象可以让你的演示文稿更加生动活泼，还可以控制信息演示流程并重点突出最关键的数据。动画效果通常有两种实现办法：按照一定 的顺序依次显示对象或者使用运动画面。你可以对整个幻灯片、某个画面或者某个幻灯片对象（包括文本框、图表、艺术字和图画等）应用动画效果。不过你应该记 住一条原则，那就是动画效果不能用得太多，而应该让它起到画龙点睛的作用；太多的闪烁和运动画面会让观众注意力分散甚至感到烦躁。　　 <br />
<br />
如果你想对一张或几张幻灯片使用动画效果，就从菜单中选择&ldquo;幻灯片放映&rdquo;　&ldquo;动画方案&rdquo;。你可以看到一系列预定义好的可应用于所选幻灯片的动画效果，如果你已经勾选了&ldquo;自动预览&rdquo;复选框，只需点击每个效果名称就能看到预览的动画效果。　　 <br />
如果想对某个幻灯片对象应用动画效果，就选定该对象然后从菜单中选择&ldquo;幻灯片放映&rdquo;　&ldquo;自定义动画&rdquo;。在&ldquo;自定义动画&rdquo;的任务窗格中点击&ldquo;添加效果&rdquo;按 钮，然后从弹出的&ldquo;进入&rdquo;子菜单中选择你想要的效果。如果想得到更多的选择，你可以点击子菜单中的&ldquo;其他效果&rdquo;项，它会打开一个&ldquo;添加进入效果&rdquo;的对话 框。勾选&ldquo;预览效果&rdquo;复选框，然后点击各种效果查看其具体表现形式。如果你找到一个想要的效果，就点击&ldquo;确定&rdquo;按钮关闭该对话框。　　 <br />
<br />
重复这些步骤直到所有你想要使用动画的幻灯片对象都获得满意的动画效果。当你这样做的时候，会发现在幻灯片对象旁边多出了几个数字标记，这些标记被用来 指示动画的顺序。另外，这些幻灯片对象还会出现在&ldquo;自定义动画&rdquo;任务窗格的动画列表中。如果你想改变动画的显示顺序，就选中某个动画然后点击&ldquo;重新排序&rdquo; 两侧的方向箭头；你还可以在列表中选择一项动画，然后按&ldquo;删除&rdquo;按钮来删除它。　　<br />
<strong>绘制路径　</strong>　 <br />
<br />
PowerPoint中还提供了一种相当精彩的动画功能，它允许你在一幅幻灯片中 为某个对象指定一条移动路线，这在PowerPoint中被称为&ldquo;动作路径&rdquo;。使用&ldquo;动作路径&rdquo;能够为你的演示文稿增加非常有趣的效果。例如，你可以让一 个幻灯片对象跳动着把观众的眼光引向所要突出的重点。 <br />
<br />
<img src="http://www.it.com.cn/f/edu/052/25/1086651384008.jpg" alt="" /><br />
<br />
为了方便你进行设计，PowerPoint中包含了相当多的预定义动作路径。如果想要指定一条动作路径，选中某个对象，然后从菜单中选择&ldquo;幻灯片放映&rdquo; 　&ldquo;自定义动画&rdquo;。在&ldquo;自定义动画&rdquo;任务窗格中点击&ldquo;添加效果&rdquo;按钮。在下拉列表中选择&ldquo;动作路径&rdquo;然后再选择一种预定义的动作路径，比如&ldquo;对角线向右 上&rdquo;或者&ldquo;对角线向右下&rdquo;。如果你不喜欢子菜单中列出的六种预置路径，还可以选择&ldquo;更多动作路径&rdquo;来打开&ldquo;添加动作路径&rdquo;对话框。确保&ldquo;预览效果&rdquo;复选框 被选中，然后点击不同的路径效果进行预览。当你找到比较满意的方案，就选择它并按&ldquo;确定&rdquo;按钮。　　 <br />
<br />
PowerPoint也允许你自行设计动作路径。选中某个对象然后从菜单中选择&ldquo;添加效果&rdquo;　&ldquo;动作路径&rdquo;　&ldquo;绘制自定义路径&rdquo;，然后再从列表中选择一种绘制方式（如自由曲线）。接着用鼠标准确地绘制出移动的路线。　　 <br />
<br />
在添加一条动作路径之后，对象旁边也会出现一个数字标记，用来显示其动画顺序（如图2所示）。还会出现一个箭头来指示动作路径的开端和结束（分别用绿色 和红色表示）。你还可以在动画列表中选择该对象，然后对&ldquo;开始&rdquo;、&ldquo;路径&rdquo;和&ldquo;速度&rdquo;子菜单中的选项进行调整（在&ldquo;自定义动画&rdquo;任务窗格）。 <br />
<br />
<strong>各种各样的小技巧　</strong>　 <br />
<br />
增加更多可取消操作数。所有的Office用户都知道&ldquo;编辑&rdquo;　&ldquo;撤销&rdquo;命令（Ctrl-Z）能够撤销最后一步操作。如果点击&ldquo;撤销&rdquo;图标旁边的下拉箭 头，还能允许你撤销若干次操作以回到早先的工作状态。在默认情况下PowerPoint最多允许你撤销20次操作，但实际上你可以把这个上限提高到150 次。选择&ldquo;工具&rdquo;　&ldquo;选项&rdquo;，然后点击&ldquo;编辑&rdquo;标签。在&ldquo;撤销&rdquo;区域的&ldquo;最多可取消操作数&rdquo;字段输入你想要的数值（从3到150均可），然后点击&ldquo;确定&rdquo; 退出。需要注意的是，当你增加PowerPoint的最多可取消操作数时，它所占用的PC内存也会随之增加。　　 <br />
<br />
重复利用你以前 的作品。如果你在以前的演示文稿中已经做过相同或者类似的幻灯片，在新的演示文稿中完全可以利用以前的成果，而不需要从头再来一遍。你可以把以前的演示文 稿中的幻灯片直接插入当前的演示文稿。首先，在&ldquo;幻灯片浏览视图&rdquo;中显示当前的演示文稿。用鼠标点击你所要插入新幻灯片的位置，选择菜单中的&ldquo;插入&rdquo;　 &ldquo;幻灯片从文件&rdquo;打开一个&ldquo;幻灯片搜索器&rdquo;对话框（如图3所示）。在&ldquo;搜索演示文稿&rdquo;选项卡中输入文件名（或者用浏览方式找到它），然后按Enter键。 点击你想要插入的幻灯片，然后按&ldquo;插入&rdquo;按钮。　　 <br />
<br />
另外，你还可以点击&ldquo;插入所有&rdquo;按钮把该演示文稿中的所有幻灯片一次性全部插入当前文稿。 <br />
<br />
应用多个模板。在很早以前，每个演示文稿只能使用一个设计模板，现在已经没有这种限制；你可以在一个演示文稿中应用任意多个模板。比如，你可能会应用第二 个模板来引入一个新的话题或者引起观众的注意。为了实现这个目标，你需要在&ldquo;普通视图&rdquo;中显示该演示文稿，并且让标记区域也显示在屏幕左侧。在&ldquo;幻灯片&rdquo; 标记中，点击你想要应用模板的一个或多个幻灯片图标。从菜单中选择&ldquo;格式&rdquo;　&ldquo;幻灯片设计&rdquo;（或者直接点击&ldquo;设计&rdquo;按钮）来显示&ldquo;幻灯片设计&rdquo;任务窗格。 选中你想要应用的模板图标，然后点击模板图标右侧的下拉列表箭头，并选择&ldquo;应用于选定幻灯片&rdquo;。　　 <br />
<br />
导入文档。如果你想在演示文 稿中输入的文字已经存在于Word文件，就不需要再手工输入一遍。你可以在PowerPoint中直接打开那个Word文件。你也许需要对导入的文档进行 一些格式上的调整，但这肯定比你手工输入这些文字要方便得多。一个提示：如果原来的Word文件使用了大纲标题，导入的效果是最好的。　　 <br />
<br />
首先在PowerPoint中选择&ldquo;文件&rdquo;　&ldquo;打开&rdquo;。在&ldquo;打开&rdquo;对话框中，点击&ldquo;文件类型&rdquo;右边的下拉箭头，然后选择&ldquo;所有文件&rdquo;。双击你想要在PowerPoint中打开的Word文档。它会像打开新的演示文稿一样被打开。　　 <br />
<br />
使用&ldquo;自动调整&rdquo;按钮。如果在一张幻灯片中出现了太多的文字，你可以用&ldquo;自动调整&rdquo;功能把文字分割成两张幻灯片。点击文字区域就能够看到区域左侧的&ldquo;自 动调整&rdquo;按钮（它的形状是上下带有箭头的两条水平线），点击该按钮并从子菜单中选择&ldquo;拆分两个幻灯片间的文本&rdquo;。　　 <br />
<br />
输出数据到Word文档。有时候你需要把演示文稿以文字的形式分发给同事或客户，此时把演示文稿输出为Word文档是最好的方法。　　 <br />
<br />
在PowerPoint中，选择&ldquo;文件&rdquo;　&ldquo;发送&rdquo;　&ldquo;Microsoft Word&rdquo;。在&ldquo;发送到Microsoft Word&rdquo;对话框中选择你想要在Microsoft Word中使用的版式。比如，你可以选择&ldquo;只使用大纲&rdquo;来创建仅带有文字的文档；选择&ldquo;空行在幻灯片旁&rdquo;则可以创建一系列带有注释行的幻灯片缩略图。在你 选择好版式之后，点击&ldquo;确定&rdquo;按钮把演示文稿发送给Word。　　 <br />
<br />
花一些时间练习一下上面的几种技巧吧！它们会让PowerPoint比以往更好地为你服务。
          <br/>
          <span style="color:red;">
            <a href="http://lewhwa.javaeye.com/blog/121076#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Thu, 06 Sep 2007 11:04:00 +0800</pubDate>
        <link>http://lewhwa.javaeye.com/blog/121076</link>
        <guid>http://lewhwa.javaeye.com/blog/121076</guid>
      </item>
      <item>
        <title>Subversion 基于 Apache 使用时用户权限的管理</title>
        <author>lewhwa</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lewhwa.javaeye.com">lewhwa</a>&nbsp;
          链接：<a href="http://lewhwa.javaeye.com/blog/120771" style="color:red;">http://lewhwa.javaeye.com/blog/120771</a>&nbsp;
          发表时间: 2007年09月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          Subversion 项目和用户权限配置指南：<br />
一、Subversion 的两种使用方式：<br />
1、Apache 站点方式；<br />
2、本地命令行方式。<br />
当然，我们也可以通过客户端来进行访问，但那也必须先建立上述<br />
两种访问接口。<br />
二、Apache 方式的配置<br />
第一种方式我们需要安装 Apache 服务器程序，同时需要安装两个模<br />
块：<br />
mod_dav_svn   以及   mod_authz_svn<br />
他们可以在 Subversion 的站点上找到，请在附录中查找链接。<br />
将所有需要的模块安装之后，我们必须编辑 Apache 的配置文档，让<br />
其将我们要用的模块装载。一般来说，Apache 的配置文件是 httpd.conf<br />
。位置一般在 Apache 安装目录下的 conf 子目录中。而模块我们一般放<br />
在 modules 子目录中。我们在配置文件 httpd.conf 中加入：<br />
LoadModule dav_svn_module modules/mod_dav_svn.so<br />
LoadModule authz_svn_module modules/mod_authz_svn.so<br />
这样，Apache 就可以访问 Subversion 的仓库了。<br />
三、Apache 方式中项目的发布<br />
首先还是要先建立 Subversion 的项目，例如：<br />
svnadmin create /home/svn/projectA<br />
之后，在 httpd.conf 文件中加入：<br />
&lt;Location /projectA&gt;<br />
DAV svn<br />
SVNPath /home/svn/projectA<br />
&lt;/Location&gt;<br />
如果是想建立多个项目的话，可以使用另一种写法：<br />
&lt;Location /svn&gt;<br />
DAV svn<br />
SVNParentPath /home/svn<br />
&lt;/Location&gt;<br />
这样，凡是在 /home/svn 目录下的子目录， Apache 都交给 Subversion <br />
DAV 去处理。用户即可以通过浏览器或者URL访问 Subversion 管理的项<br />
目了。<br />
四、Apache 方式下的权限管理<br />
首先，我们来创建一个用户 robert。<br />
由于是第一次创建用户，我们必须同时创建一个用户口令文件：<br />
htpasswd -c authfile robert<br />
这时，会提示输入用户密码以及确认用户密码。htpasswd 程序会将<br />
用户密码进行散列运算后保存在 authfile 中。创建第二个用户时，我们<br />
就不必输入 -c 开关了。<br />
htpasswd authfile harry<br />
如果想要删除某个用户，我们可以使用下列指令：<br />
htpasswd -D authfile harry<br />
这样，harry 就被从 authfile 中删除了。<br />
这时，Subversion 的权限管理问题就转化为了 Apache 的权限管理问<br />
题了。我们将前述的目录配置做一下修改：<br />
&lt;Location /projectA&gt;<br />
DAV svn<br />
SVNPath /home/svn/projectA<br />
AuthType Basic<br />
AuthName &quot;Subversion projectA&quot;<br />
AuthUserFile /home/svn/projectA/authfile<br />
Require valid-user<br />
&lt;/Location&gt;<br />
这样，对 projectA 访问就必须提供 authfile 中记录的用户和正确密码<br />
才可以进行了。<br />
五、Apache 方式下的分组管理<br />
有时，我们希望能够将多个开发人员编为一组，使用组的方式来为<br />
项目设定权限。比如 projectA 项目只有属于 groupA 的成员才可以存取<br />
。下面我们来介绍其配置方法。<br />
这里，我们就要用到 mod_authz_svn 提供的功能了。我们对 <br />
httpd.conf 中的目录配置再做一次修改：<br />
&lt;Location /projectA&gt;<br />
DAV svn<br />
SVNParentPath /home/svn/<br />
AuthzSVNAccessFile /home/svn/authz.conf<br />
AuthType Basic<br />
AuthName &quot;Subversion projectA&quot;<br />
AuthUserFile /home/svn/projectA/authfile<br />
Require valid-user<br />
&lt;/Location&gt;<br />
大家可以注意到，这里使用了另一个配置文件：authz.conf<br />
他的大致结构如下：<br />
[groups]<br />
everyone = robert, tommy, songjy, zhengyong, orcus, zhangq<br />
groupA = robert, zhangq<br />
groupB = orcus, tommy<br />
[projectA:/]<br />
@groupA = rw<br />
@everyone = r<br />
[projectB:/]<br />
@everyone = r<br />
@groupB = rw<br />
Ok, 我想大家应该已经明白了基于组和项目的管理方法了。:)<br />
附录：<br />
1、获取最新安装包：<br />
<a href="http://summersoft.fay.ar.us/pub/subversion/latest/whitebox-el-3/bin/" class="bbs" target="_blank">http://summersoft.fay.ar.us/pub/subversion/latest/whitebox-el-3/bin/</a>
          <br/>
          <span style="color:red;">
            <a href="http://lewhwa.javaeye.com/blog/120771#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 05 Sep 2007 22:13:39 +0800</pubDate>
        <link>http://lewhwa.javaeye.com/blog/120771</link>
        <guid>http://lewhwa.javaeye.com/blog/120771</guid>
      </item>
      <item>
        <title>Subversion 1.4.5 Released</title>
        <author>lewhwa</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lewhwa.javaeye.com">lewhwa</a>&nbsp;
          链接：<a href="http://lewhwa.javaeye.com/blog/117866" style="color:red;">http://lewhwa.javaeye.com/blog/117866</a>&nbsp;
          发表时间: 2007年08月29日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <h3 class="entry-header">Subversion 1.4.5 Released</h3>
<h2 class="date-header">August 27, 2007</h2>
<div class="entry-body">
<p>Subversion 1.4.5 was released today.&nbsp; You can <a href="http://downloads.open.collab.net/collabnet-subversion.html">download the updated CollabNet Subversion</a> binaries immediately.</p>
<p>Subversion 1.4.5 contains a fix for a security exploit on Windows clients. This exploit was discovered and reported by researchers at the <a href="http://crisp.cs.du.edu/">Colorado Research Institute for Security and Privacy</a>.</p>
<p>The only change from Subversion 1.4.4 is the patch for this security exploit.&nbsp; Since the exploit only affects Windows clients, we decided to only release CollabNet Subversion 1.4.5 packages for Windows. There is no point for someone who is already running 1.4.4 on any other operating system to update to 1.4.5.</p>
<p>I am not going to give a lot of details about the exploit, you can find more information at various security reporting sites, such as <a href="http://cve.mitre.org/cgi-bin/cvename.cgi?name=2007-3846">CVE</a>.&nbsp; I will say that it was a legitimate exposure that made it possible for the Subversion client to write files outside the normal working copy.&nbsp; That being said, there are a couple of points to make:</p>
<ol>
    <li>Creating the exploit requires commit access to the repository.&nbsp; If you can trust the people who have write access to the repository, then you do not have too much to be concerned about. The keyword in that sentence is &quot;trust&quot;. If you are checking out from a repository you cannot completely trust, such as on a public hosting service, then be careful and update to 1.4.5 first.</li>
    <li>While the exploit itself is pretty easy to produce, it is also pretty difficult to use it in a way that would cause harm.</li>
    <li>You can only create the exploit from a non-Windows platform.</li>
    <li>There is nothing terribly secretive about the exploit.&nbsp; If you send commit emails, or even just browse your repository using svn ls, this exploit would stand out as not normal.</li>
</ol>
<p>If you are running a Subversion client on Windows, this would include the command line client as well as any graphical client such as <a href="http://tortoisesvn.tigris.org/">TortoiseSVN</a> or <a href="http://subclipse.tigris.org/">Subclipse</a>, then you should definitely go ahead and install this version of Subversion.&nbsp; I would recommend that users of earlier versions such as 1.3.2 or 1.2.3 also install this update immediately. The Subversion 1.4.5 client can talk to any 1.x version of the server, so there is no reason not to update your client (<span face="Arial">for compatibility: if you have the command line and a GUI client, update them both)</span>.</p>
<p>Subversion servers are not affected by this exploit.&nbsp; That being said, a Windows server that uses the Subversion client in scripts would still be vulnerable and should be updated to 1.4.5.</p>
<p><a href="http://blogs.open.collab.net/svn/2007/08/subversion-145-.html">http://blogs.open.collab.net/svn/2007/08/subversion-145-.html</a><br />
</p>
</div>
          <br/>
          <span style="color:red;">
            <a href="http://lewhwa.javaeye.com/blog/117866#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Wed, 29 Aug 2007 09:13:39 +0800</pubDate>
        <link>http://lewhwa.javaeye.com/blog/117866</link>
        <guid>http://lewhwa.javaeye.com/blog/117866</guid>
      </item>
      <item>
        <title>史上最强的 Vim 配置文件？-语法高亮显示的 html 版</title>
        <author>lewhwa</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lewhwa.javaeye.com">lewhwa</a>&nbsp;
          链接：<a href="http://lewhwa.javaeye.com/blog/108985" style="color:red;">http://lewhwa.javaeye.com/blog/108985</a>&nbsp;
          发表时间: 2007年08月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <p><font face="Arial">&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; _<br />
&quot;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; __ | \<br />
&quot;&nbsp;&nbsp;&nbsp;&nbsp; /&nbsp;&nbsp; | /<br />
&quot;&nbsp;&nbsp;&nbsp;&nbsp; \__ | \<br />
&quot; by Amix - http://amix.dk/<br />
&quot;<br />
&quot; Maintainer: Amir Salihefendic &lt;amix3k at gmail.com&gt;<br />
&quot; Version: 2.7<br />
&quot; Last Change: 12/10/06 00:09:21<br />
&quot;<br />
&quot; Sections:<br />
&quot; ----------------------<br />
&quot; General<br />
&quot; Colors and Fonts<br />
&quot; Fileformats<br />
&quot; VIM userinterface<br />
&quot;&nbsp;&nbsp;&nbsp; Statusline<br />
&quot; Visual<br />
&quot; Moving around and tabs<br />
&quot; General Autocommands<br />
&quot; Parenthesis/bracket expanding<br />
&quot; General Abbrevs<br />
&quot; Editing mappings etc.<br />
&quot; Command-line config<br />
&quot; Buffer realted<br />
&quot; Files and backups<br />
&quot; Folding<br />
&quot; Text options<br />
&quot;&nbsp;&nbsp;&nbsp; Indent<br />
&quot; Spell checking<br />
&quot; Plugin configuration<br />
&quot;&nbsp;&nbsp;&nbsp; Yank ring<br />
&quot;&nbsp;&nbsp;&nbsp; File explorer<br />
&quot;&nbsp;&nbsp;&nbsp; Minibuffer<br />
&quot;&nbsp;&nbsp;&nbsp; Tag list (ctags) - not used<br />
&quot;&nbsp;&nbsp;&nbsp; LaTeX Suite things<br />
&quot; Filetype generic<br />
&quot;&nbsp;&nbsp;&nbsp; Todo<br />
&quot;&nbsp;&nbsp;&nbsp; VIM<br />
&quot;&nbsp;&nbsp;&nbsp; HTML related<br />
&quot;&nbsp;&nbsp;&nbsp; Ruby &amp; PHP section<br />
&quot;&nbsp;&nbsp;&nbsp; Python section<br />
&quot;&nbsp;&nbsp;&nbsp; Cheetah section<br />
&quot;&nbsp;&nbsp;&nbsp; Vim section<br />
&quot;&nbsp;&nbsp;&nbsp; Java section<br />
&quot;&nbsp;&nbsp;&nbsp; JavaScript section<br />
&quot;&nbsp;&nbsp;&nbsp; C mappings<br />
&quot;&nbsp;&nbsp;&nbsp; SML<br />
&quot;&nbsp;&nbsp;&nbsp; Scheme bindings<br />
&quot; Snippets<br />
&quot;&nbsp;&nbsp;&nbsp; Python<br />
&quot;&nbsp;&nbsp;&nbsp; javaScript<br />
&quot; Cope<br />
&quot; MISC<br />
&quot;<br />
&quot;&nbsp; Tip:<br />
&quot;&nbsp;&nbsp; If you find anything that you can't understand than do this:<br />
&quot;&nbsp;&nbsp; help keyword OR helpgrep keywords<br />
&quot;&nbsp; Example:<br />
&quot;&nbsp;&nbsp; Go into command-line mode and type helpgrep nocompatible, ie.<br />
&quot;&nbsp;&nbsp; :helpgrep nocompatible<br />
&quot;&nbsp;&nbsp; then press &lt;leader&gt;c to see the results, or :botright cw<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; General<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;Get out of VI's compatible mode..<br />
set nocompatible<br />
&quot;Sets how many lines of history VIM har to remember<br />
set history=400<br />
&quot;Enable filetype plugin<br />
filetype plugin on<br />
filetype indent on<br />
&quot;Set to auto read when a file is changed from the outside<br />
set autoread<br />
&quot;Have the mouse enabled all the time:<br />
set mouse=a<br />
&quot;Set mapleader<br />
let mapleader = &quot;,&quot;<br />
let g:mapleader = &quot;,&quot;<br />
&quot;Fast saving<br />
nmap &lt;leader&gt;w :w!&lt;cr&gt;<br />
nmap &lt;leader&gt;f :find&lt;cr&gt;<br />
&quot;Fast reloading of the .vimrc<br />
map &lt;leader&gt;s :source ~/vim_local/vimrc&lt;cr&gt;<br />
&quot;Fast editing of .vimrc<br />
map &lt;leader&gt;e :e! ~/vim_local/vimrc&lt;cr&gt;<br />
&quot;When .vimrc is edited, reload it<br />
autocmd! bufwritepost vimrc source ~/vim_local/vimrc<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Colors and Fonts<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;Enable syntax hl<br />
syntax enable<br />
&quot;Set font to Monaco 10pt<br />
if MySys() == &quot;mac&quot;<br />
set gfn=Bitstream\ Vera\ Sans\ Mono:h14<br />
set nomacatsui<br />
set termencoding=macroman<br />
elseif MySys() == &quot;linux&quot;<br />
set gfn=Monospace\ 11<br />
endif<br />
if has(&quot;gui_running&quot;)<br />
set guioptions-=T<br />
let psc_style='cool'<br />
colorscheme ps_color<br />
else<br />
set background=dark<br />
colorscheme zellner<br />
endif<br />
&quot;Some nice mapping to switch syntax (useful if one mixes different languages in one file)<br />
map &lt;leader&gt;1 :set syntax=cheetah&lt;cr&gt;<br />
map &lt;leader&gt;2 :set syntax=xhtml&lt;cr&gt;<br />
map &lt;leader&gt;3 :set syntax=python&lt;cr&gt;<br />
map &lt;leader&gt;4 :set ft=javascript&lt;cr&gt;<br />
map &lt;leader&gt;$ :syntax sync fromstart&lt;cr&gt;<br />
autocmd BufEnter * :syntax sync fromstart<br />
&quot;Highlight current<br />
if has(&quot;gui_running&quot;)<br />
set cursorline<br />
hi cursorline guibg=#333333<br />
hi CursorColumn guibg=#333333<br />
endif<br />
&quot;Omni menu colors<br />
hi Pmenu guibg=#333333<br />
hi PmenuSel guibg=#555555 guifg=#ffffff<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Fileformats<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;Favorite filetypes<br />
set ffs=unix,dos,mac<br />
nmap &lt;leader&gt;fd :se ff=dos&lt;cr&gt;<br />
nmap &lt;leader&gt;fu :se ff=unix&lt;cr&gt;<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; VIM userinterface<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;Set 7 lines to the curors - when moving vertical..<br />
set so=7<br />
&quot;Turn on WiLd menu<br />
set wildmenu<br />
&quot;Always show current position<br />
set ruler<br />
&quot;The commandbar is 2 high<br />
set cmdheight=2<br />
&quot;Show line number<br />
set nu<br />
&quot;Do not redraw, when running macros.. lazyredraw<br />
set lz<br />
&quot;Change buffer - without saving<br />
set hid<br />
&quot;Set backspace<br />
set backspace=eol,start,indent<br />
&quot;Bbackspace and cursor keys wrap to<br />
set whichwrap+=&lt;,&gt;,h,l<br />
&quot;Ignore case when searching<br />
set ignorecase<br />
set incsearch<br />
&quot;Set magic on<br />
set magic<br />
&quot;No sound on errors.<br />
set noerrorbells<br />
set novisualbell<br />
set t_vb=<br />
&quot;show matching bracets<br />
set showmatch<br />
&quot;How many tenths of a second to blink<br />
set mat=2<br />
&quot;Highlight search things<br />
set hlsearch<br />
&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp; &quot; Statusline<br />
&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp; &quot;Always hide the statusline<br />
set laststatus=2<br />
function! CurDir()<br />
let curdir = substitute(getcwd(), '/Users/amir/', &quot;~/&quot;, &quot;g&quot;)<br />
return curdir<br />
endfunction<br />
&nbsp; &quot;Format the statusline<br />
set statusline=\ %F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}%h\ \ \ Line:\ %l/%L:%c<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Visual<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; From an idea by Michael Naumann<br />
function! VisualSearch(direction) range<br />
let l:saved_reg = @&quot;<br />
execute &quot;normal! vgvy&quot;<br />
let l:pattern = escape(@&quot;, '\\/.*$^~[]')<br />
let l:pattern = substitute(l:pattern, &quot;\n$&quot;, &quot;&quot;, &quot;&quot;)<br />
if a:direction == 'b'<br />
execute &quot;normal ?&quot; . l:pattern . &quot;^M&quot;<br />
else<br />
execute &quot;normal /&quot; . l:pattern . &quot;^M&quot;<br />
endif<br />
let @/ = l:pattern<br />
let @&quot; = l:saved_reg<br />
endfunction<br />
&quot;Basically you press * or # to search for the current selection !! Really useful<br />
vnoremap &lt;silent&gt; * :call VisualSearch('f')&lt;CR&gt;<br />
vnoremap &lt;silent&gt; # :call VisualSearch('b')&lt;CR&gt;<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Moving around and tabs<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;Map space to / and c-space to ?<br />
map &lt;space&gt; /<br />
map &lt;c-space&gt; ?<br />
&quot;Smart way to move btw. windows<br />
map &lt;C-j&gt; &lt;C-W&gt;j<br />
map &lt;C-k&gt; &lt;C-W&gt;k<br />
map &lt;C-h&gt; &lt;C-W&gt;h<br />
map &lt;C-l&gt; &lt;C-W&gt;l<br />
&quot;Actually, the tab does not switch buffers, but my arrows<br />
&quot;Bclose function ca be found in &quot;Buffer related&quot; section<br />
map &lt;leader&gt;bd :Bclose&lt;cr&gt;<br />
map &lt;down&gt; &lt;leader&gt;bd<br />
&quot;Use the arrows to something usefull<br />
map &lt;right&gt; :bn&lt;cr&gt;<br />
map &lt;left&gt; :bp&lt;cr&gt;<br />
&quot;Tab configuration<br />
map &lt;leader&gt;tn :tabnew %&lt;cr&gt;<br />
map &lt;leader&gt;te :tabedit<br />
map &lt;leader&gt;tc :tabclose&lt;cr&gt;<br />
map &lt;leader&gt;tm :tabmove<br />
try<br />
set switchbuf=usetab<br />
set stal=2<br />
catch<br />
endtry<br />
&quot;Moving fast to front, back and 2 sides ;)<br />
imap &lt;m-$&gt; &lt;esc&gt;$a<br />
imap &lt;m-0&gt; &lt;esc&gt;0i<br />
imap &lt;D-$&gt; &lt;esc&gt;$a<br />
imap &lt;D-0&gt; &lt;esc&gt;0i<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; General Autocommands<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;Switch to current dir<br />
map &lt;leader&gt;cd :cd %:p:h&lt;cr&gt;<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Parenthesis/bracket expanding<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
vnoremap $1 &lt;esc&gt;`&gt;a)&lt;esc&gt;`&lt;i(&lt;esc&gt;<br />
&quot;)<br />
vnoremap $2 &lt;esc&gt;`&gt;a]&lt;esc&gt;`&lt;i[&lt;esc&gt;<br />
vnoremap $3 &lt;esc&gt;`&gt;a}&lt;esc&gt;`&lt;i{&lt;esc&gt;<br />
vnoremap $$ &lt;esc&gt;`&gt;a&quot;&lt;esc&gt;`&lt;i&quot;&lt;esc&gt;<br />
vnoremap $q &lt;esc&gt;`&gt;a'&lt;esc&gt;`&lt;i'&lt;esc&gt;<br />
vnoremap $w &lt;esc&gt;`&gt;a&quot;&lt;esc&gt;`&lt;i&quot;&lt;esc&gt;<br />
&quot;Map auto complete of (, &quot;, ', [<br />
inoremap $1 ()&lt;esc&gt;:let leavechar=&quot;)&quot;&lt;cr&gt;i<br />
inoremap $2 []&lt;esc&gt;:let leavechar=&quot;]&quot;&lt;cr&gt;i<br />
inoremap $4 {&lt;esc&gt;o}&lt;esc&gt;:let leavechar=&quot;}&quot;&lt;cr&gt;O<br />
inoremap $3 {}&lt;esc&gt;:let leavechar=&quot;}&quot;&lt;cr&gt;i<br />
inoremap $q ''&lt;esc&gt;:let leavechar=&quot;'&quot;&lt;cr&gt;i<br />
inoremap $w &quot;&quot;&lt;esc&gt;:let leavechar='&quot;'&lt;cr&gt;i<br />
au BufNewFile,BufRead *.\(vim\)\@! inoremap &quot; &quot;&quot;&lt;esc&gt;:let leavechar='&quot;'&lt;cr&gt;i<br />
au BufNewFile,BufRead *.\(txt\)\@! inoremap ' ''&lt;esc&gt;:let leavechar=&quot;'&quot;&lt;cr&gt;i<br />
imap &lt;m-l&gt; &lt;esc&gt;:exec &quot;normal f&quot; . leavechar&lt;cr&gt;a<br />
imap &lt;d-l&gt; &lt;esc&gt;:exec &quot;normal f&quot; . leavechar&lt;cr&gt;a<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; General Abbrevs<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;My information<br />
iab xdate &lt;c-r&gt;=strftime(&quot;%d/%m/%y %H:%M:%S&quot;)&lt;cr&gt;<br />
iab xname Amir Salihefendic<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Editing mappings etc.<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;Remap VIM 0<br />
map 0 ^<br />
&quot;Move a line of text using control<br />
nmap &lt;M-j&gt; mz:m+&lt;cr&gt;`z<br />
nmap &lt;M-k&gt; mz:m-2&lt;cr&gt;`z<br />
vmap &lt;M-j&gt; :m'&gt;+&lt;cr&gt;`&lt;my`&gt;mzgv`yo`z<br />
vmap &lt;M-k&gt; :m'&lt;-2&lt;cr&gt;`&gt;my`&lt;mzgv`yo`z<br />
if MySys() == &quot;mac&quot;<br />
nmap &lt;D-j&gt; &lt;M-j&gt;<br />
nmap &lt;D-k&gt; &lt;M-k&gt;<br />
vmap &lt;D-j&gt; &lt;M-j&gt;<br />
vmap &lt;D-k&gt; &lt;M-k&gt;<br />
endif<br />
func! DeleteTrailingWS()<br />
exe &quot;normal mz&quot;<br />
%s/\s\+$//ge<br />
exe &quot;normal `z&quot;<br />
endfunc<br />
autocmd BufWrite *.py :call DeleteTrailingWS()<br />
set completeopt=menu<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Command-line config<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
func! Cwd()<br />
let cwd = getcwd()<br />
return &quot;e &quot; . cwd <br />
endfunc<br />
func! DeleteTillSlash()<br />
let g:cmd = getcmdline()<br />
if MySys() == &quot;linux&quot; || MySys() == &quot;mac&quot;<br />
let g:cmd_edited = substitute(g:cmd, &quot;\\(.*\[/\]\\).*&quot;, &quot;\\1&quot;, &quot;&quot;)<br />
else<br />
let g:cmd_edited = substitute(g:cmd, &quot;\\(.*\[\\\\]\\).*&quot;, &quot;\\1&quot;, &quot;&quot;)<br />
endif<br />
if g:cmd == g:cmd_edited<br />
if MySys() == &quot;linux&quot; || MySys() == &quot;mac&quot;<br />
let g:cmd_edited = substitute(g:cmd, &quot;\\(.*\[/\]\\).*/&quot;, &quot;\\1&quot;, &quot;&quot;)<br />
else<br />
let g:cmd_edited = substitute(g:cmd, &quot;\\(.*\[\\\\\]\\).*\[\\\\\]&quot;, &quot;\\1&quot;, &quot;&quot;)<br />
endif<br />
endif<br />
return g:cmd_edited<br />
endfunc<br />
func! CurrentFileDir(cmd)<br />
return a:cmd . &quot; &quot; . expand(&quot;%:p:h&quot;) . &quot;/&quot;<br />
endfunc<br />
&quot;Smart mappings on the command line<br />
cno $h e ~/<br />
cno $d e ~/Desktop/<br />
cno $j e ./<br />
cno $q &lt;C-\&gt;eDeleteTillSlash()&lt;cr&gt;<br />
cno $c e &lt;C-\&gt;eCurrentFileDir(&quot;e&quot;)&lt;cr&gt;<br />
cno $tc &lt;C-\&gt;eCurrentFileDir(&quot;tabnew&quot;)&lt;cr&gt;<br />
cno $th tabnew ~/<br />
cno $td tabnew ~/Desktop/<br />
&quot;Bash like<br />
cnoremap &lt;C-A&gt;&nbsp;&nbsp;&nbsp; &lt;Home&gt;<br />
cnoremap &lt;C-E&gt;&nbsp;&nbsp;&nbsp; &lt;End&gt;<br />
cnoremap &lt;C-K&gt;&nbsp;&nbsp;&nbsp; &lt;C-U&gt;<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Buffer realted<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;Fast open a buffer by search for a name<br />
map &lt;c-q&gt; :sb<br />
&quot;Open a dummy buffer for paste<br />
map &lt;leader&gt;q :e ~/buffer&lt;cr&gt;<br />
&quot;Restore cursor to file position in previous editing session<br />
set viminfo='10,\&quot;100,:20,%,n~/.viminfo<br />
au BufReadPost * if line(&quot;'\&quot;&quot;) &gt; 0|if line(&quot;'\&quot;&quot;) &lt;= line(&quot;$&quot;)|exe(&quot;norm '\&quot;&quot;)|else|exe &quot;norm $&quot;|endif|endif<br />
&quot; Buffer - reverse everything ... :)<br />
map &lt;F9&gt; ggVGg?<br />
&quot; Don't close window, when deleting a buffer<br />
command! Bclose call &lt;SID&gt;BufcloseCloseIt()<br />
function! &lt;SID&gt;BufcloseCloseIt()<br />
let l:currentBufNum = bufnr(&quot;%&quot;)<br />
let l:alternateBufNum = bufnr(&quot;#&quot;)<br />
if buflisted(l:alternateBufNum)<br />
buffer #<br />
else<br />
bnext<br />
endif<br />
if bufnr(&quot;%&quot;) == l:currentBufNum<br />
new<br />
endif<br />
if buflisted(l:currentBufNum)<br />
execute(&quot;bdelete! &quot;.l:currentBufNum)<br />
endif<br />
endfunction<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Files and backups<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;Turn backup off<br />
set nobackup<br />
set nowb<br />
set noswapfile<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Folding<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;Enable folding, I find it very useful<br />
set nofen<br />
set fdl=0<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Text options<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
set expandtab<br />
set shiftwidth=2<br />
map &lt;leader&gt;t2 :set shiftwidth=2&lt;cr&gt;<br />
map &lt;leader&gt;t4 :set shiftwidth=4&lt;cr&gt;<br />
au FileType html,python,vim,javascript setl shiftwidth=2<br />
au FileType html,python,vim,javascript setl tabstop=2<br />
au FileType java setl shiftwidth=4<br />
au FileType java setl tabstop=4<br />
set smarttab<br />
set lbr<br />
set tw=500<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Indent<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot;Auto indent<br />
set ai<br />
&nbsp;&nbsp; &quot;Smart indet<br />
set si<br />
&nbsp;&nbsp; &quot;C-style indeting<br />
set cindent<br />
&nbsp;&nbsp; &quot;Wrap lines<br />
set wrap<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Spell checking<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
map &lt;leader&gt;sn ]s<br />
map &lt;leader&gt;sp [s<br />
map &lt;leader&gt;sa zg<br />
map &lt;leader&gt;s? z=<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Plugin configuration<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Vim Grep<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
let Grep_Skip_Dirs = 'RCS CVS SCCS .svn'<br />
let Grep_Cygwin_Find = 1<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Yank Ring<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
map &lt;leader&gt;y :YRShow&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; File explorer<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot;Split vertically<br />
let g:explVertical=1<br />
&nbsp;&nbsp; &quot;Window size<br />
let g:explWinSize=35<br />
let g:explSplitLeft=1<br />
let g:explSplitBelow=1<br />
&nbsp;&nbsp; &quot;Hide some files<br />
let g:explHideFiles='^\.,.*\.class$,.*\.swp$,.*\.pyc$,.*\.swo$,\.DS_Store$'<br />
&nbsp;&nbsp; &quot;Hide the help thing..<br />
let g:explDetailedHelp=0<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Minibuffer<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
let g:miniBufExplModSelTarget = 1<br />
let g:miniBufExplorerMoreThanOne = 2<br />
let g:miniBufExplModSelTarget = 0<br />
let g:miniBufExplUseSingleClick = 1<br />
let g:miniBufExplMapWindowNavVim = 1<br />
let g:miniBufExplVSplit = 25<br />
let g:miniBufExplSplitBelow=1<br />
let g:bufExplorerSortBy = &quot;name&quot;<br />
autocmd BufRead,BufNew :call UMiniBufExplorer<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Tag list (ctags) - not used<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot;let Tlist_Ctags_Cmd = &quot;/sw/bin/ctags-exuberant&quot;<br />
&nbsp;&nbsp; &quot;let Tlist_Sort_Type = &quot;name&quot;<br />
&nbsp;&nbsp; &quot;let Tlist_Show_Menu = 1<br />
&nbsp;&nbsp; &quot;map &lt;leader&gt;t :Tlist&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; LaTeX Suite things<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
set grepprg=grep\ -nH\ $*<br />
let g:Tex_DefaultTargetFormat=&quot;pdf&quot;<br />
let g:Tex_ViewRule_pdf='xpdf'<br />
&nbsp;&nbsp; &quot;Bindings<br />
autocmd FileType tex map &lt;silent&gt;&lt;leader&gt;&lt;space&gt; :w!&lt;cr&gt; :silent! call Tex_RunLaTeX()&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;Auto complete some things ;)<br />
autocmd FileType tex inoremap $i \indent<br />
autocmd FileType tex inoremap $* \cdot<br />
autocmd FileType tex inoremap $i \item<br />
autocmd FileType tex inoremap $m \[&lt;cr&gt;\]&lt;esc&gt;O<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Filetype generic<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Todo<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
au BufNewFile,BufRead *.todo so ~/vim_local/syntax/amido.vim<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; VIM<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
autocmd FileType vim map &lt;buffer&gt; &lt;leader&gt;&lt;space&gt; :w!&lt;cr&gt;:source %&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; HTML related<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; HTML entities - used by xml edit plugin<br />
let xml_use_xhtml = 1<br />
&nbsp;&nbsp; &quot;let xml_no_auto_nesting = 1<br />
&nbsp;&nbsp; &quot;To HTML<br />
let html_use_css = 1<br />
let html_number_lines = 0<br />
let use_xhtml = 1<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Ruby &amp; PHP section<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
autocmd FileType ruby map &lt;buffer&gt; &lt;leader&gt;&lt;space&gt; :w!&lt;cr&gt;:!ruby %&lt;cr&gt;<br />
autocmd FileType php compiler php<br />
autocmd FileType php map &lt;buffer&gt; &lt;leader&gt;&lt;space&gt; &lt;leader&gt;cd:w&lt;cr&gt;:make %&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Python section<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot;Run the current buffer in python - ie. on leader+space<br />
au FileType python so ~/vim_local/syntax/python.vim<br />
autocmd FileType python map &lt;buffer&gt; &lt;leader&gt;&lt;space&gt; :w!&lt;cr&gt;:!python %&lt;cr&gt;<br />
autocmd FileType python so ~/vim_local/plugin/python_fold.vim<br />
&nbsp;&nbsp; &quot;Set some bindings up for 'compile' of python<br />
autocmd FileType python set makeprg=python\ -c\ \&quot;import\ py_compile,sys;\ sys.stderr=sys.stdout;\ py_compile.compile(r'%')\&quot;<br />
autocmd FileType python set efm=%C\ %.%#,%A\ \ File\ \&quot;%f\&quot;\\,\ line\ %l%.%#,%Z%[%^\ ]%\\@=%m<br />
&nbsp;&nbsp; &quot;Python iMaps<br />
au FileType python set cindent<br />
au FileType python inoremap &lt;buffer&gt; $r return<br />
au FileType python inoremap &lt;buffer&gt; $s self<br />
au FileType python inoremap &lt;buffer&gt; $c ##&lt;cr&gt;#&lt;space&gt;&lt;cr&gt;#&lt;esc&gt;kla<br />
au FileType python inoremap &lt;buffer&gt; $i import<br />
au FileType python inoremap &lt;buffer&gt; $p print<br />
au FileType python inoremap &lt;buffer&gt; $d &quot;&quot;&quot;&lt;cr&gt;&quot;&quot;&quot;&lt;esc&gt;O<br />
&nbsp;&nbsp; &quot;Run in the Python interpreter<br />
function! Python_Eval_VSplit() range<br />
let src = tempname()<br />
let dst = tempname()<br />
execute &quot;: &quot; . a:firstline . &quot;,&quot; . a:lastline . &quot;w &quot; . src<br />
execute &quot;:!python &quot; . src . &quot; &gt; &quot; . dst<br />
execute &quot;:pedit! &quot; . dst<br />
endfunction<br />
au FileType python vmap &lt;F7&gt; :call Python_Eval_VSplit()&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Cheetah section<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
autocmd FileType cheetah set ft=xml<br />
autocmd FileType cheetah set syntax=cheetah<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Vim section<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
autocmd FileType vim set nofen<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Java section<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
au FileType java inoremap &lt;buffer&gt; &lt;C-t&gt; System.out.println();&lt;esc&gt;hi<br />
&nbsp;&nbsp; &quot;Java comments<br />
autocmd FileType java source ~/vim_local/macros/jcommenter.vim<br />
autocmd FileType java let b:jcommenter_class_author='Amir Salihefendic (amix@amix.dk)'<br />
autocmd FileType java let b:jcommenter_file_author='Amir Salihefendic (amix@amix.dk)'<br />
autocmd FileType java map &lt;buffer&gt; &lt;F2&gt; :call JCommentWriter()&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;Abbr'z<br />
autocmd FileType java inoremap &lt;buffer&gt; $pr private<br />
autocmd FileType java inoremap &lt;buffer&gt; $r return<br />
autocmd FileType java inoremap &lt;buffer&gt; $pu public<br />
autocmd FileType java inoremap &lt;buffer&gt; $i import<br />
autocmd FileType java inoremap &lt;buffer&gt; $b boolean<br />
autocmd FileType java inoremap &lt;buffer&gt; $v void<br />
autocmd FileType java inoremap &lt;buffer&gt; $s String<br />
&nbsp;&nbsp; &quot;Folding<br />
function! JavaFold()<br />
setl foldmethod=syntax<br />
setl foldlevelstart=1<br />
syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend<br />
syn match foldImports /\(\n\?import.\+;\n\)\+/ transparent fold<br />
function! FoldText()<br />
return substitute(getline(v:foldstart), '{.*', '{...}', '')<br />
endfunction<br />
setl foldtext=FoldText()<br />
endfunction<br />
au FileType java call JavaFold()<br />
au FileType java setl fen<br />
au BufEnter *.sablecc,*.scc set ft=sablecc<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; JavaScript section<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
au FileType javascript so ~/vim_local/syntax/javascript.vim<br />
function! JavaScriptFold()<br />
setl foldmethod=syntax<br />
setl foldlevelstart=1<br />
syn region foldBraces start=/{/ end=/}/ transparent fold keepend extend<br />
function! FoldText()<br />
return substitute(getline(v:foldstart), '{.*', '{...}', '')<br />
endfunction<br />
setl foldtext=FoldText()<br />
endfunction<br />
au FileType javascript call JavaScriptFold()<br />
au FileType javascript setl fen<br />
au FileType javascript imap &lt;c-t&gt; console.log();&lt;esc&gt;hi<br />
au FileType javascript imap &lt;c-a&gt; alert();&lt;esc&gt;hi<br />
au FileType javascript setl nocindent<br />
au FileType javascript inoremap &lt;buffer&gt; $r return<br />
au FileType javascript inoremap &lt;buffer&gt; $d //&lt;cr&gt;//&lt;cr&gt;//&lt;esc&gt;ka&lt;space&gt;<br />
au FileType javascript inoremap &lt;buffer&gt; $c /**&lt;cr&gt;&lt;space&gt;&lt;cr&gt;**/&lt;esc&gt;ka<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; HTML<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
au FileType html,cheetah set ft=xml<br />
au FileType html,cheetah set syntax=html<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; C mappings<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
autocmd FileType c map &lt;buffer&gt; &lt;leader&gt;&lt;space&gt; :w&lt;cr&gt;:!gcc %&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; SML<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
autocmd FileType sml map &lt;silent&gt; &lt;buffer&gt; &lt;leader&gt;&lt;space&gt; &lt;leader&gt;cd:w&lt;cr&gt;:!sml %&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Scheme bidings<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
autocmd BufNewFile,BufRead *.scm map &lt;buffer&gt; &lt;leader&gt;&lt;space&gt; &lt;leader&gt;cd:w&lt;cr&gt;:!petite %&lt;cr&gt;<br />
autocmd BufNewFile,BufRead *.scm inoremap &lt;buffer&gt; &lt;C-t&gt; (pretty-print )&lt;esc&gt;i<br />
autocmd BufNewFile,BufRead *.scm vnoremap &lt;C-t&gt; &lt;esc&gt;`&gt;a)&lt;esc&gt;`&lt;i(pretty-print &lt;esc&gt;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; SVN section<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
map &lt;F8&gt; :new&lt;CR&gt;:read !svn diff&lt;CR&gt;:set syntax=diff buftype=nofile&lt;CR&gt;gg<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Snippets<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot;You can use &lt;c-j&gt; to goto the next &lt;++&gt; - it is pretty smart ;)<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Python<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
autocmd FileType python inorea &lt;buffer&gt; cfun &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;def &lt;++&gt;(&lt;++&gt;):\n&lt;++&gt;\nreturn &lt;++&gt;&quot;)&lt;cr&gt;<br />
autocmd FileType python inorea &lt;buffer&gt; cclass &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;class &lt;++&gt;:\n&lt;++&gt;&quot;)&lt;cr&gt;<br />
autocmd FileType python inorea &lt;buffer&gt; cfor &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;for &lt;++&gt; in &lt;++&gt;:\n&lt;++&gt;&quot;)&lt;cr&gt;<br />
autocmd FileType python inorea &lt;buffer&gt; cif &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;if &lt;++&gt;:\n&lt;++&gt;&quot;)&lt;cr&gt;<br />
autocmd FileType python inorea &lt;buffer&gt; cifelse &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;if &lt;++&gt;:\n&lt;++&gt;\nelse:\n&lt;++&gt;&quot;)&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; JavaScript<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
autocmd FileType cheetah,html,javascript inorea &lt;buffer&gt; cfun &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;function &lt;++&gt;(&lt;++&gt;) {\n&lt;++&gt;;\nreturn &lt;++&gt;;\n}&quot;)&lt;cr&gt;<br />
autocmd filetype cheetah,html,javascript inorea &lt;buffer&gt; cfor &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;for(&lt;++&gt;; &lt;++&gt;; &lt;++&gt;) {\n&lt;++&gt;;\n}&quot;)&lt;cr&gt;<br />
autocmd FileType cheetah,html,javascript inorea &lt;buffer&gt; cif &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;if(&lt;++&gt;) {\n&lt;++&gt;;\n}&quot;)&lt;cr&gt;<br />
autocmd FileType cheetah,html,javascript inorea &lt;buffer&gt; cifelse &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;if(&lt;++&gt;) {\n&lt;++&gt;;\n}\nelse {\n&lt;++&gt;;\n}&quot;)&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; HTML<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
autocmd FileType cheetah,html inorea &lt;buffer&gt; cahref &lt;c-r&gt;=IMAP_PutTextWithMovement('&lt;a href=&quot;&lt;++&gt;&quot;&gt;&lt;++&gt;&lt;/a&gt;')&lt;cr&gt;<br />
autocmd FileType cheetah,html inorea &lt;buffer&gt; cbold &lt;c-r&gt;=IMAP_PutTextWithMovement('&lt;b&gt;&lt;++&gt;&lt;/b&gt;')&lt;cr&gt;<br />
autocmd FileType cheetah,html inorea &lt;buffer&gt; cimg &lt;c-r&gt;=IMAP_PutTextWithMovement('&lt;img src=&quot;&lt;++&gt;&quot; alt=&quot;&lt;++&gt;&quot; /&gt;')&lt;cr&gt;<br />
autocmd FileType cheetah,html inorea &lt;buffer&gt; cpara &lt;c-r&gt;=IMAP_PutTextWithMovement('&lt;p&gt;&lt;++&gt;&lt;/p&gt;')&lt;cr&gt;<br />
autocmd FileType cheetah,html inorea &lt;buffer&gt; ctag &lt;c-r&gt;=IMAP_PutTextWithMovement('&lt;&lt;++&gt;&gt;&lt;++&gt;&lt;/&lt;++&gt;&gt;')&lt;cr&gt;<br />
autocmd FileType cheetah,html inorea &lt;buffer&gt; ctag1 &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;&lt;&lt;++&gt;&gt;&lt;cr&gt;&lt;++&gt;&lt;cr&gt;&lt;/&lt;++&gt;&gt;&quot;)&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&nbsp;&nbsp; &quot; Java<br />
&nbsp;&nbsp; &quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
autocmd FileType java inorea &lt;buffer&gt; cfun &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;public&lt;++&gt; &lt;++&gt;(&lt;++&gt;) {\n&lt;++&gt;;\nreturn &lt;++&gt;;\n}&quot;)&lt;cr&gt;<br />
autocmd FileType java inorea &lt;buffer&gt; cfunpr &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;private&lt;++&gt; &lt;++&gt;(&lt;++&gt;) {\n&lt;++&gt;;\nreturn &lt;++&gt;;\n}&quot;)&lt;cr&gt;<br />
autocmd FileType java inorea &lt;buffer&gt; cfor &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;for(&lt;++&gt;; &lt;++&gt;; &lt;++&gt;) {\n&lt;++&gt;;\n}&quot;)&lt;cr&gt;<br />
autocmd FileType java inorea &lt;buffer&gt; cif &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;if(&lt;++&gt;) {\n&lt;++&gt;;\n}&quot;)&lt;cr&gt;<br />
autocmd FileType java inorea &lt;buffer&gt; cifelse &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;if(&lt;++&gt;) {\n&lt;++&gt;;\n}\nelse {\n&lt;++&gt;;\n}&quot;)&lt;cr&gt;<br />
autocmd FileType java inorea &lt;buffer&gt; cclass &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;class &lt;++&gt; &lt;++&gt; {\n&lt;++&gt;\n}&quot;)&lt;cr&gt;<br />
autocmd FileType java inorea &lt;buffer&gt; cmain &lt;c-r&gt;=IMAP_PutTextWithMovement(&quot;public static void main(String[] argv) {\n&lt;++&gt;\n}&quot;)&lt;cr&gt;<br />
&nbsp;&nbsp; &quot;Presse c-q insted of space (or other key) to complete the snippet<br />
imap &lt;C-q&gt; &lt;C-]&gt;<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; Cope<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;For Cope<br />
map &lt;silent&gt; &lt;leader&gt;&lt;cr&gt; :noh&lt;cr&gt;<br />
&quot;Orginal for all<br />
map &lt;leader&gt;n :cn&lt;cr&gt;<br />
map &lt;leader&gt;p :cp&lt;cr&gt;<br />
map &lt;leader&gt;c :botright cw 10&lt;cr&gt;<br />
map &lt;c-u&gt; &lt;c-l&gt;&lt;c-j&gt;:q&lt;cr&gt;:botright cw 10&lt;cr&gt;<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot; MISC<br />
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;<br />
&quot;Remove the Windows ^M<br />
noremap &lt;Leader&gt;m mmHmt:%s/&lt;C-V&gt;&lt;cr&gt;//ge&lt;cr&gt;'tzt'm<br />
&quot;Paste toggle - when pasting something in, don't indent.<br />
set pastetoggle=&lt;F3&gt;<br />
&quot;Remove indenting on empty lines<br />
map &lt;F2&gt; :%s/\s*$//g&lt;cr&gt;:noh&lt;cr&gt;''<br />
&quot;Super paste<br />
inoremap &lt;C-v&gt; &lt;esc&gt;:set paste&lt;cr&gt;mui&lt;C-R&gt;+&lt;esc&gt;mv'uV'v=:set nopaste&lt;cr&gt;<br />
&quot;A function that inserts links &amp; anchors on a TOhtml export.<br />
&quot; Notice:<br />
&quot; Syntax used is:<br />
&quot; Link<br />
&quot; Anchor<br />
function! SmartTOHtml()<br />
TOhtml<br />
try<br />
%s/&amp;quot;\s\+\*&amp;gt; \(.\+\)&lt;/&quot; &lt;a href=&quot;#\1&quot; style=&quot;color: cyan&quot;&gt;\1&lt;\/a&gt;&lt;/g<br />
%s/&amp;quot;\(-\|\s\)\+\*&amp;gt; \(.\+\)&lt;/&quot; \&amp;nbsp;\&amp;nbsp; &lt;a href=&quot;#\2&quot; style=&quot;color: cyan;&quot;&gt;\2&lt;\/a&gt;&lt;/g<br />
%s/&amp;quot;\s\+=&amp;gt; \(.\+\)&lt;/&quot; &lt;a name=&quot;\1&quot; style=&quot;color: #fff&quot;&gt;\1&lt;\/a&gt;&lt;/g<br />
catch<br />
endtry<br />
exe &quot;:write!&quot;<br />
exe &quot;:bd&quot;<br />
endfunction</font></p>
<p><font face="Arial"></font>&nbsp;</p>
          <br/>
          <span style="color:red;">
            <a href="http://lewhwa.javaeye.com/blog/108985#comments" style="color:red;">本文的讨论也很精彩，浏览讨论>></a>
          </span>
          <br/><br/><br/>
          <span style="color:#E28822;">JavaEye推荐</span>
          <br/>
          <ul class='adverts'><li><a href='/adverts/42' target='_blank'><span style="color:red;font-weight:bold;">搜狐网站诚聘Java、PHP和C++工程师</span></a></li><li><a href='/adverts/41' target='_blank'><span style="color:red;font-weight:bold;">北京: 千橡集团暨校内网诚聘软件研发工程师</span></a></li></ul>
          <br/><br/><br/>
          ]]>
        </description>
        <pubDate>Sun, 05 Aug 2007 01:52:53 +0800</pubDate>
        <link>http://lewhwa.javaeye.com/blog/108985</link>
        <guid>http://lewhwa.javaeye.com/blog/108985</guid>
      </item>
      <item>
        <title>史上最强的 Vim 配置文件？-纯文本版 </title>
        <author>lewhwa</author>
        <description>
          <![CDATA[
          <br/>
          作者: <a href="http://lewhwa.javaeye.com">lewhwa</a>&nbsp;
          链接：<a href="http://lewhwa.javaeye.com/blog/108984" style="color:red;">http://lewhwa.javaeye.com/blog/108984</a>&nbsp;
          发表时间: 2007年08月05日
          <br/><br/>
          声明：本文系JavaEye网站发布的原创博客文章，未经作者书面许可，严禁任何网站转载本文，否则必将追究法律责任！
          <br/><br/>
          <pre>&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;          _
&quot;      __ | \
&quot;     /   | /
&quot;     \__ | \
&quot; by Amix - http://amix.dk/
&quot;
&quot; Maintainer:	Amir Salihefendic &lt;amix3k at gmail.com&gt;
&quot; Version: 2.7
&quot; Last Change: 12/10/06 00:09:21
&quot;
&quot; Sections:
&quot; ----------------------
&quot;   *&gt; General
&quot;   *&gt; Colors and Fonts
&quot;   *&gt; Fileformats
&quot;   *&gt; VIM userinterface
&quot;   ------ *&gt; Statusline
&quot;   *&gt; Visual
&quot;   *&gt; Moving around and tabs
&quot;   *&gt; General Autocommands
&quot;   *&gt; Parenthesis/bracket expanding
&quot;   *&gt; General Abbrevs
&quot;   *&gt; Editing mappings etc.
&quot;   *&gt; Command-line config
&quot;   *&gt; Buffer realted
&quot;   *&gt; Files and backups
&quot;   *&gt; Folding
&quot;   *&gt; Text options
&quot;   ------ *&gt; Indent
&quot;   *&gt; Spell checking
&quot;   *&gt; Plugin configuration
&quot;   ------ *&gt; Yank ring
&quot;   ------ *&gt; File explorer
&quot;   ------ *&gt; Minibuffer
&quot;   ------ *&gt; Tag list (ctags) - not used
&quot;   ------ *&gt; LaTeX Suite things
&quot;   *&gt; Filetype generic
&quot;   ------ *&gt; Todo
&quot;   ------ *&gt; VIM
&quot;   ------ *&gt; HTML related
&quot;   ------ *&gt; Ruby &amp; PHP section
&quot;   ------ *&gt; Python section
&quot;   ------ *&gt; Cheetah section
&quot;   ------ *&gt; Vim section
&quot;   ------ *&gt; Java section
&quot;   ------ *&gt; JavaScript section
&quot;   ------ *&gt; C mappings
&quot;   ------ *&gt; SML
&quot;   ------ *&gt; Scheme bindings
&quot;   *&gt; Snippets
&quot;   ------ *&gt; Python
&quot;   ------ *&gt; javaScript
&quot;   *&gt; Cope
&quot;   *&gt; MISC
&quot;
&quot;  Tip:
&quot;   If you find anything that you can't understand than do this:
&quot;   help keyword OR helpgrep keywords
&quot;  Example:
&quot;   Go into command-line mode and type helpgrep nocompatible, ie.
&quot;   :helpgrep nocompatible
&quot;   then press &lt;leader&gt;c to see the results, or :botright cw
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; General
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;Get out of VI's compatible mode..
set nocompatible
&quot;Sets how many lines of history VIM har to remember
set history=400
&quot;Enable filetype plugin
filetype plugin on
filetype indent on
&quot;Set to auto read when a file is changed from the outside
set autoread
&quot;Have the mouse enabled all the time:
set mouse=a
&quot;Set mapleader
let mapleader = &quot;,&quot;
let g:mapleader = &quot;,&quot;
&quot;Fast saving
nmap &lt;leader&gt;w :w!&lt;cr&gt;
nmap &lt;leader&gt;f :find&lt;cr&gt;
&quot;Fast reloading of the .vimrc
map &lt;leader&gt;s :source ~/vim_local/vimrc&lt;cr&gt;
&quot;Fast editing of .vimrc
map &lt;leader&gt;e :e! ~/vim_local/vimrc&lt;cr&gt;
&quot;When .vimrc is edited, reload it
autocmd! bufwritepost vimrc source ~/vim_local/vimrc
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Colors and Fonts
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;Enable syntax hl
syntax enable
&quot;Set font to Monaco 10pt
if MySys() == &quot;mac&quot;
set gfn=Bitstream\ Vera\ Sans\ Mono:h14
set nomacatsui
set termencoding=macroman
elseif MySys() == &quot;linux&quot;
set gfn=Monospace\ 11
endif
if has(&quot;gui_running&quot;)
set guioptions-=T
let psc_style='cool'
colorscheme ps_color
else
set background=dark
colorscheme zellner
endif
&quot;Some nice mapping to switch syntax (useful if one mixes different languages in one file)
map &lt;leader&gt;1 :set syntax=cheetah&lt;cr&gt;
map &lt;leader&gt;2 :set syntax=xhtml&lt;cr&gt;
map &lt;leader&gt;3 :set syntax=python&lt;cr&gt;
map &lt;leader&gt;4 :set ft=javascript&lt;cr&gt;
map &lt;leader&gt;$ :syntax sync fromstart&lt;cr&gt;
autocmd BufEnter * :syntax sync fromstart
&quot;Highlight current
if has(&quot;gui_running&quot;)
set cursorline
hi cursorline guibg=#333333
hi CursorColumn guibg=#333333
endif
&quot;Omni menu colors
hi Pmenu guibg=#333333
hi PmenuSel guibg=#555555 guifg=#ffffff
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Fileformats
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;Favorite filetypes
set ffs=unix,dos,mac
nmap &lt;leader&gt;fd :se ff=dos&lt;cr&gt;
nmap &lt;leader&gt;fu :se ff=unix&lt;cr&gt;
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; VIM userinterface
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;Set 7 lines to the curors - when moving vertical..
set so=7
&quot;Turn on WiLd menu
set wildmenu
&quot;Always show current position
set ruler
&quot;The commandbar is 2 high
set cmdheight=2
&quot;Show line number
set nu
&quot;Do not redraw, when running macros.. lazyredraw
set lz
&quot;Change buffer - without saving
set hid
&quot;Set backspace
set backspace=eol,start,indent
&quot;Bbackspace and cursor keys wrap to
set whichwrap+=&lt;,&gt;,h,l
&quot;Ignore case when searching
set ignorecase
set incsearch
&quot;Set magic on
set magic
&quot;No sound on errors.
set noerrorbells
set novisualbell
set t_vb=
&quot;show matching bracets
set showmatch
&quot;How many tenths of a second to blink
set mat=2
&quot;Highlight search things
set hlsearch
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Statusline
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;Always hide the statusline
set laststatus=2
function! CurDir()
let curdir = substitute(getcwd(), '/Users/amir/', &quot;~/&quot;, &quot;g&quot;)
return curdir
endfunction
&quot;Format the statusline
set statusline=\ %F%m%r%h\ %w\ \ CWD:\ %r%{CurDir()}%h\ \ \ Line:\ %l/%L:%c
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Visual
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; From an idea by Michael Naumann
function! VisualSearch(direction) range
let l:saved_reg = @&quot;
execute &quot;normal! vgvy&quot;
let l:pattern = escape(@&quot;, '\\/.*$^~[]')
let l:pattern = substitute(l:pattern, &quot;\n$&quot;, &quot;&quot;, &quot;&quot;)
if a:direction == 'b'
execute &quot;normal ?&quot; . l:pattern . &quot;^M&quot;
else
execute &quot;normal /&quot; . l:pattern . &quot;^M&quot;
endif
let @/ = l:pattern
let @&quot; = l:saved_reg
endfunction
&quot;Basically you press * or # to search for the current selection !! Really useful
vnoremap &lt;silent&gt; * :call VisualSearch('f')&lt;CR&gt;
vnoremap &lt;silent&gt; # :call VisualSearch('b')&lt;CR&gt;
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Moving around and tabs
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;Map space to / and c-space to ?
map &lt;space&gt; /
map &lt;c-space&gt; ?
&quot;Smart way to move btw. windows
map &lt;C-j&gt; &lt;C-W&gt;j
map &lt;C-k&gt; &lt;C-W&gt;k
map &lt;C-h&gt; &lt;C-W&gt;h
map &lt;C-l&gt; &lt;C-W&gt;l
&quot;Actually, the tab does not switch buffers, but my arrows
&quot;Bclose function ca be found in &quot;Buffer related&quot; section
map &lt;leader&gt;bd :Bclose&lt;cr&gt;
map &lt;down&gt; &lt;leader&gt;bd
&quot;Use the arrows to something usefull
map &lt;right&gt; :bn&lt;cr&gt;
map &lt;left&gt; :bp&lt;cr&gt;
&quot;Tab configuration
map &lt;leader&gt;tn :tabnew %&lt;cr&gt;
map &lt;leader&gt;te :tabedit
map &lt;leader&gt;tc :tabclose&lt;cr&gt;
map &lt;leader&gt;tm :tabmove
try
set switchbuf=usetab
set stal=2
catch
endtry
&quot;Moving fast to front, back and 2 sides ;)
imap &lt;m-$&gt; &lt;esc&gt;$a
imap &lt;m-0&gt; &lt;esc&gt;0i
imap &lt;D-$&gt; &lt;esc&gt;$a
imap &lt;D-0&gt; &lt;esc&gt;0i
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; General Autocommands
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;Switch to current dir
map &lt;leader&gt;cd :cd %:p:h&lt;cr&gt;
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Parenthesis/bracket expanding
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
vnoremap $1 &lt;esc&gt;`&gt;a)&lt;esc&gt;`&lt;i(&lt;esc&gt;
&quot;)
vnoremap $2 &lt;esc&gt;`&gt;a]&lt;esc&gt;`&lt;i[&lt;esc&gt;
vnoremap $3 &lt;esc&gt;`&gt;a}&lt;esc&gt;`&lt;i{&lt;esc&gt;
vnoremap $$ &lt;esc&gt;`&gt;a&quot;&lt;esc&gt;`&lt;i&quot;&lt;esc&gt;
vnoremap $q &lt;esc&gt;`&gt;a'&lt;esc&gt;`&lt;i'&lt;esc&gt;
vnoremap $w &lt;esc&gt;`&gt;a&quot;&lt;esc&gt;`&lt;i&quot;&lt;esc&gt;
&quot;Map auto complete of (, &quot;, ', [
inoremap $1 ()&lt;esc&gt;:let leavechar=&quot;)&quot;&lt;cr&gt;i
inoremap $2 []&lt;esc&gt;:let leavechar=&quot;]&quot;&lt;cr&gt;i
inoremap $4 {&lt;esc&gt;o}&lt;esc&gt;:let leavechar=&quot;}&quot;&lt;cr&gt;O
inoremap $3 {}&lt;esc&gt;:let leavechar=&quot;}&quot;&lt;cr&gt;i
inoremap $q ''&lt;esc&gt;:let leavechar=&quot;'&quot;&lt;cr&gt;i
inoremap $w &quot;&quot;&lt;esc&gt;:let leavechar='&quot;'&lt;cr&gt;i
au BufNewFile,BufRead *.\(vim\)\@! inoremap &quot; &quot;&quot;&lt;esc&gt;:let leavechar='&quot;'&lt;cr&gt;i
au BufNewFile,BufRead *.\(txt\)\@! inoremap ' ''&lt;esc&gt;:let leavechar=&quot;'&quot;&lt;cr&gt;i
imap &lt;m-l&gt; &lt;esc&gt;:exec &quot;normal f&quot; . leavechar&lt;cr&gt;a
imap &lt;d-l&gt; &lt;esc&gt;:exec &quot;normal f&quot; . leavechar&lt;cr&gt;a
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; General Abbrevs
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;My information
iab xdate &lt;c-r&gt;=strftime(&quot;%d/%m/%y %H:%M:%S&quot;)&lt;cr&gt;
iab xname Amir Salihefendic
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Editing mappings etc.
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;Remap VIM 0
map 0 ^
&quot;Move a line of text using control
nmap &lt;M-j&gt; mz:m+&lt;cr&gt;`z
nmap &lt;M-k&gt; mz:m-2&lt;cr&gt;`z
vmap &lt;M-j&gt; :m'&gt;+&lt;cr&gt;`&lt;my`&gt;mzgv`yo`z
vmap &lt;M-k&gt; :m'&lt;-2&lt;cr&gt;`&gt;my`&lt;mzgv`yo`z
if MySys() == &quot;mac&quot;
nmap &lt;D-j&gt; &lt;M-j&gt;
nmap &lt;D-k&gt; &lt;M-k&gt;
vmap &lt;D-j&gt; &lt;M-j&gt;
vmap &lt;D-k&gt; &lt;M-k&gt;
endif
func! DeleteTrailingWS()
exe &quot;normal mz&quot;
%s/\s\+$//ge
exe &quot;normal `z&quot;
endfunc
autocmd BufWrite *.py :call DeleteTrailingWS()
set completeopt=menu
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Command-line config
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
func! Cwd()
let cwd = getcwd()
return &quot;e &quot; . cwd
endfunc
func! DeleteTillSlash()
let g:cmd = getcmdline()
if MySys() == &quot;linux&quot; || MySys() == &quot;mac&quot;
let g:cmd_edited = substitute(g:cmd, &quot;\\(.*\[/\]\\).*&quot;, &quot;\\1&quot;, &quot;&quot;)
else
let g:cmd_edited = substitute(g:cmd, &quot;\\(.*\[\\\\]\\).*&quot;, &quot;\\1&quot;, &quot;&quot;)
endif
if g:cmd == g:cmd_edited
if MySys() == &quot;linux&quot; || MySys() == &quot;mac&quot;
let g:cmd_edited = substitute(g:cmd, &quot;\\(.*\[/\]\\).*/&quot;, &quot;\\1&quot;, &quot;&quot;)
else
let g:cmd_edited = substitute(g:cmd, &quot;\\(.*\[\\\\\]\\).*\[\\\\\]&quot;, &quot;\\1&quot;, &quot;&quot;)
endif
endif
return g:cmd_edited
endfunc
func! CurrentFileDir(cmd)
return a:cmd . &quot; &quot; . expand(&quot;%:p:h&quot;) . &quot;/&quot;
endfunc
&quot;Smart mappings on the command line
cno $h e ~/
cno $d e ~/Desktop/
cno $j e ./
cno $q &lt;C-\&gt;eDeleteTillSlash()&lt;cr&gt;
cno $c e &lt;C-\&gt;eCurrentFileDir(&quot;e&quot;)&lt;cr&gt;
cno $tc &lt;C-\&gt;eCurrentFileDir(&quot;tabnew&quot;)&lt;cr&gt;
cno $th tabnew ~/
cno $td tabnew ~/Desktop/
&quot;Bash like
cnoremap &lt;C-A&gt;		&lt;Home&gt;
cnoremap &lt;C-E&gt;		&lt;End&gt;
cnoremap &lt;C-K&gt;		&lt;C-U&gt;
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Buffer realted
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;Fast open a buffer by search for a name
map &lt;c-q&gt; :sb
&quot;Open a dummy buffer for paste
map &lt;leader&gt;q :e ~/buffer&lt;cr&gt;
&quot;Restore cursor to file position in previous editing session
set viminfo='10,\&quot;100,:20,%,n~/.viminfo
au BufReadPost * if line(&quot;'\&quot;&quot;) &gt; 0|if line(&quot;'\&quot;&quot;) &lt;= line(&quot;$&quot;)|exe(&quot;norm '\&quot;&quot;)|else|exe &quot;norm $&quot;|endif|endif
&quot; Buffer - reverse everything ... :)
map &lt;F9&gt; ggVGg?
&quot; Don't close window, when deleting a buffer
command! Bclose call &lt;SID&gt;BufcloseCloseIt()
function! &lt;SID&gt;BufcloseCloseIt()
let l:currentBufNum = bufnr(&quot;%&quot;)
let l:alternateBufNum = bufnr(&quot;#&quot;)
if buflisted(l:alternateBufNum)
buffer #
else
bnext
endif
if bufnr(&quot;%&quot;) == l:currentBufNum
new
endif
if buflisted(l:currentBufNum)
execute(&quot;bdelete! &quot;.l:currentBufNum)
endif
endfunction
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Files and backups
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;Turn backup off
set nobackup
set nowb
set noswapfile
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Folding
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;Enable folding, I find it very useful
set nofen
set fdl=0
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Text options
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
set expandtab
set shiftwidth=2
map &lt;leader&gt;t2 :set shiftwidth=2&lt;cr&gt;
map &lt;leader&gt;t4 :set shiftwidth=4&lt;cr&gt;
au FileType html,python,vim,javascript setl shiftwidth=2
au FileType html,python,vim,javascript setl tabstop=2
au FileType java setl shiftwidth=4
au FileType java setl tabstop=4
set smarttab
set lbr
set tw=500
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Indent
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot;Auto indent
set ai
&quot;Smart indet
set si
&quot;C-style indeting
set cindent
&quot;Wrap lines
set wrap
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Spell checking
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
map &lt;leader&gt;sn ]s
map &lt;leader&gt;sp [s
map &lt;leader&gt;sa zg
map &lt;leader&gt;s? z=
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;
&quot; =&gt; Plugin configuration
&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&quot;&