vim使用指南

<div id="main">
                <div class="main">
                        <div class="ad_class">
<div class="notice tracking-ad" data-mod="popu_3"> 




<a href="http://blog.csdn.net/blogdevteam/article/details/65629853" target="_blank">
<font color="blue">【CSDN 日报】| 2.17-3.17 上榜作者排行出炉 </font></a>


&nbsp;&nbsp;&nbsp;&nbsp;


<a href="http://blog.csdn.net/blogdevteam/article/details/60961185" target="_blank">
<font color="red">同步博客至 CSDN ,让更多开发者看到你的文章
</font></a>
&nbsp;&nbsp;&nbsp;&nbsp;


<a href="http://edu.csdn.net/huiyiCourse/series_detail/29?ref=blog&amp;loc=r0" target="_blank">
<font color="blue">看微博技术大咖解析互联网应用架构实战
</font></a>
</div>                        </div>
                        






  
<link href="http://static.blog.csdn.net/css/comment1.css" type="text/css" rel="stylesheet">
<link href="http://static.blog.csdn.net/css/style1.css" type="text/css" rel="stylesheet">
<script language="JavaScript" type="text/javascript" src="http://download.csdn.net/js/jquery.cookie.js"></script>
<script type="text/javascript" src="http://c.csdnimg.cn/rabbit/search-service/main.js"></script>
<link rel="stylesheet" href="http://static.blog.csdn.net/public/res-min/markdown_views.css?v=1.0">
<link rel="stylesheet" href="http://static.blog.csdn.net/css/category.css?v=1.0">
<script type="text/javascript" src="http://static.blog.csdn.net/public/res/bower-libs/MathJax/MathJax.js?config=TeX-AMS_HTML"></script>
<script type="text/javascript" src="http://static.blog.csdn.net/scripts/web-storage-cache.min.js"></script>
<script type="text/javascript" src="http://static.blog.csdn.net/scripts/replace.min.js"></script>








  <script type="text/ecmascript">
      window.quickReplyflag = true;
           
            var isBole = false;
            
      
      var fasrc="http://my.csdn.net/my/favorite/miniadd?t=vim%e4%bd%bf%e7%94%a8%e6%80%bb%e7%bb%93&u=http://blog.csdn.net/callinglove/article/details/51868170?locationNum=2&amp;fps=1"


    </script>
<div id="article_details" class="details">
    <div class="article_title">   
         <span class="ico ico_type_Original"></span>




    <h1>
        <span class="link_title"><a href="/callinglove/article/details/51868170">
        vim使用总结            
        </a></span>
    </h1>
</div>


   


        <div class="article_manage clearfix">
        <div class="article_l">
            <span class="link_categories">
            标签:
              <a href="http://www.csdn.net/tag/vim" target="_blank" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">vim</a><a href="http://www.csdn.net/tag/vim%e5%bf%ab%e6%8d%b7%e9%94%ae" target="_blank" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">vim快捷键</a><a href="http://www.csdn.net/tag/stags" target="_blank" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_tag']);">stags</a>
            </span>
        </div>
        <div class="article_r">
            <span class="link_postdate">2016-07-09 19:32</span>
            <span class="link_view" title="阅读次数">1335人阅读</span>
            <span class="link_comments" title="评论次数"> <a href="#comments" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_pinglun'])">评论</a>(0)</span>
            <span class="link_collect tracking-ad" data-mod="popu_171"> <a href="javascript:void(0);" οnclick="javascript:collectArticle('vim%e4%bd%bf%e7%94%a8%e6%80%bb%e7%bb%93','51868170');return false;" title="收藏" target="_blank">收藏</a></span>
             <span class="link_report"> <a href="#report" οnclick="javascript:report(51868170,2);return false;" title="举报">举报</a></span>


        </div>
    </div>
    <div class="embody" style="display:none" id="embody">
        <span class="embody_t">本文章已收录于:</span>
        <div class="embody_c" id="lib" value="{&quot;err&quot;:0,&quot;msg&quot;:&quot;ok&quot;,&quot;data&quot;:[]}"></div>
    </div>
    <style type="text/css">        
            .embody{
                padding:10px 10px 10px;
                margin:0 -20px;
                border-bottom:solid 1px #ededed;                
            }
            .embody_b{
                margin:0 ;
                padding:10px 0;
            }
            .embody .embody_t,.embody .embody_c{
                display: inline-block;
                margin-right:10px;
            }
            .embody_t{
                font-size: 12px;
                color:#999;
            }
            .embody_c{
                font-size: 12px;
            }
            .embody_c img,.embody_c em{
                display: inline-block;
                vertical-align: middle;               
            }
             .embody_c img{               
                width:30px;
                height:30px;
            }
            .embody_c em{
                margin: 0 20px 0 10px;
                color:#333;
                font-style: normal;
            }
    </style>
    <script type="text/javascript">
        $(function () {
            try
            {
                var lib = eval("("+$("#lib").attr("value")+")");
                var html = "";
                if (lib.err == 0) {
                    $.each(lib.data, function (i) {
                        var obj = lib.data[i];
                        //html += '<img src="' + obj.logo + '"/>' + obj.name + "&nbsp;&nbsp;";
                        html += ' <a href="' + obj.url + '" target="_blank">';
                        html += ' <img src="' + obj.logo + '">';
                        html += ' <em><b>' + obj.name + '</b></em>';
                        html += ' </a>';
                    });
                    if (html != "") {
                        setTimeout(function () {
                            $("#lib").html(html);                      
                            $("#embody").show();
                        }, 100);
                    }
                }      
            } catch (err)
            { }
            
        });
    </script>
      <div class="category clearfix">
        <div class="category_l">
           <img src="http://static.blog.csdn.net/images/category_icon.jpg">
            <span>分类:</span>
        </div>
        <div class="category_r">
                    <label οnclick="GetCategoryArticles('2616885','callinglove','top','51868170');">
                        <span οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_fenlei']);">开发环境搭建<em>(11)</em></span>
                      <img class="arrow-down" src="http://static.blog.csdn.net/images/arrow_triangle _down.jpg" style="display:inline;">
                      <img class="arrow-up" src="http://static.blog.csdn.net/images/arrow_triangle_up.jpg" style="display:none;">
                        <div class="subItem">
                            <div class="subItem_t"><a href="http://blog.csdn.net/callinglove/article/category/2616885" target="_blank">作者同类文章</a><i class="J_close">X</i></div>
                            <ul class="subItem_l" id="top_2616885">                            
                            </ul>
                        </div>
                    </label>                    
        </div>
    </div>
    <script type="text/javascript" src="http://static.blog.csdn.net/scripts/category.js"></script>  
        <div class="bog_copyright">         
            <p class="copyright_p">版权声明:本文为博主原创文章,转载请注明出处</p>
        </div>


  


  
  
     


<div style="clear:both"></div><div style="border:solid 1px #ccc; background:#eee; float:left; min-width:200px;padding:4px 10px;"><p style="text-align:right;margin:0;"><span style="float:left;">目录<a href="#" title="系统根据文章中H1到H6标签自动生成文章目录">(?)</a></span><a href="#" οnclick="javascript:return openct(this);" title="展开">[+]</a></p><ol style="display:none;margin-left:14px;padding-left:14px;line-height:160%;"><li><a href="#t0">vim使用命令</a></li><li><a href="#t1">使用技巧</a></li><li><a href="#t2">vim配置文件使用</a></li><li><a href="#t3">vim插件的使用</a></li><ol><li><a href="#t4">ctags</a></li><li><a href="#t5">taglist</a></li><li><a href="#t6">cscope</a></li></ol><li><a href="#t7">配置文件语法介绍</a></li><ol><li><a href="#t8">快捷键映射</a></li></ol><li><a href="#t9">参考</a></li></ol></div><div style="clear:both"></div><div id="article_content" class="article_content">
        <div class="markdown_views"><h2 id="vim使用命令"><a name="t0"></a>vim使用命令</h2>


<p>【自动补全操作】</p>


<ul>
<li>Ctrl + n  / Ctrl + p 自动补全字符串</li>
<li>Ctrl +x  Ctrl +f 自动补全文件名</li>
</ul>


<p>【多文件操作】 <br>
打开多个文件:</p>


<ul>
<li>vim file1 file2 … filen 在同一个窗口中打开所有想要打开的文件</li>
<li>vim -o file1 file2 … filen 打开一个编辑会话,水平分割窗口,一个文件占用一个窗口</li>
<li>vim -O file1 file2 … filen 打开一个编辑会话,垂直分割窗口,一个文件占用一个窗口</li>
<li>vim  -o5 file1  file2   将水平分配5个相同的窗口,有3个是闲置的</li>
</ul>


<p>文件切换:</p>


<ul>
<li>:e file      在当前窗口载入显示file文件</li>
<li>:ls           显示打开的所有文件列表,带编号</li>
<li>:b1~n       切换至第n个文件</li>
<li>:bn           下一个文件</li>
<li>:bp          上一个文件</li>
<li>Ctrl+6      两文件间的切换</li>
</ul>


<p>【多窗口操作】 <br>
切割窗口操作:</p>


<ul>
<li>:sp(lit) 水平切割窗口</li>
<li>:vsp(list) 垂直切割窗口</li>
<li>:qa(ll) 关闭所有窗口</li>
</ul>


<p>默认新建立的窗口显示相同的文件,可以通过以下命令显示不同的文件: <br>
:[n] split(vsplit)  [++opt]  [+cmd]  [file]</p>


<p>多窗口切换:</p>


<p>按住Ctrl + W,然后再加上h, j, k, l,分别表示向左、下、上、右移动窗口,也可以使用上、下、左、右键</p>


<ul>
<li>Ctrl + w + h:向左移动窗口</li>
<li>Ctrl + w + j: 向下移动窗口</li>
<li>Ctrl + w + j: 向上移动窗口</li>
<li><p>Ctrl + w + l: 向右移动窗口</p></li>
<li><p>Ctrl + w + w:这个命令会在所有窗口中循环移动</p></li>
<li>Ctrl + w + t:移动到最左上角的窗口</li>
<li>Ctrl + w + b:移动到最右下角的窗口</li>
<li>Ctrl + w + p:移动到前一个访问的窗口</li>
</ul>


<p>【调整窗口大小】</p>


<p>改变当前窗口的尺寸,同时当然也会影响到其他窗口。 <br>
在gvim和vim中,可以用鼠标点击窗口的顶部白色条并窗口直接调整尺寸。</p>


<p>也可以直接用命令,调整尺寸命令也是以Ctrl + W开头:</p>


<ul>
<li>Ctrl + W + =  :让所有窗口调整至相同尺寸(平均划分)</li>
<li>Ctrl + W + -:将当前窗口的高度减少一行,也可在ex命令中,:resize -4明确指定减少的尺寸</li>
<li><p>Ctrl + W + +:将当前窗口的高度增加一行。同样在ex命令中,:resize +n 明确指定增加尺寸</p></li>
<li><p>Ctrl + W + &lt; :将当前窗口的宽度减少</p></li>
<li><p>Ctrl + W + &gt; :将当前窗口的宽度增加</p></li>
<li><p>Ctrl + W + |:将当前窗口的宽度调到最大,也可他哦你通过ex命令:vertical resize n明确指定改变宽度</p></li>
</ul>


<h2 id="使用技巧"><a name="t1"></a>使用技巧</h2>


<p>【新建文件自动添加头部】</p>






<pre class="prettyprint" name="code"><code class="hljs sql has-numbering">" 新建python文件自动添加头部信息


let g:python_author = 'cold'               # 姓名
let g:python_email  = 'wh_linux@126.com'   # 邮箱


function HeaderPython()
    normal 1G
    <span class="hljs-operator"><span class="hljs-keyword">call</span> setline(<span class="hljs-string">"."</span>, <span class="hljs-string">"#!/usr/bin/env python"</span>)
    normal o
    <span class="hljs-keyword">call</span> setline(<span class="hljs-string">"."</span>, <span class="hljs-string">"# -*- coding: utf-8 -*-"</span>)
    normal o
    <span class="hljs-keyword">call</span> setline(<span class="hljs-string">"."</span>, <span class="hljs-string">"#"</span>)
    normal o
    <span class="hljs-keyword">call</span> setline(<span class="hljs-string">"."</span>, <span class="hljs-string">"#      Author : "</span>.g:python_author)
    normal o
    <span class="hljs-keyword">call</span> setline(<span class="hljs-string">"."</span>, <span class="hljs-string">"#      E-mail : "</span>.g:python_email)
    normal o
    <span class="hljs-keyword">call</span> setline(<span class="hljs-string">"."</span>, <span class="hljs-string">"# Create Date : "</span>.strftime(<span class="hljs-string">"%y-%m-%d %H:%M:%S"</span>))
    normal o
    <span class="hljs-keyword">call</span> setline(<span class="hljs-string">"."</span>, <span class="hljs-string">"#   File Name : "</span>.expand(<span class="hljs-string">"%"</span>))
    normal o
    <span class="hljs-keyword">call</span> setline(<span class="hljs-string">"."</span>, <span class="hljs-string">"#        Desc :"</span>)
    let lnum = line(<span class="hljs-string">"."</span>)
    normal o
    <span class="hljs-keyword">call</span> setline(<span class="hljs-string">"."</span>, <span class="hljs-string">"#"</span>)
    normal o
    <span class="hljs-keyword">call</span> <span class="hljs-keyword">cursor</span>(lnum, len(getline(lnum)))
    normal a
    <span class="hljs-string">"normal G
    "</span>normal o
    <span class="hljs-string">"normal o
endf


autocmd bufnewfile *.py call HeaderPython()</span></span></code><ul class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li><li>13</li><li>14</li><li>15</li><li>16</li><li>17</li><li>18</li><li>19</li><li>20</li><li>21</li><li>22</li><li>23</li><li>24</li><li>25</li><li>26</li><li>27</li><li>28</li><li>29</li><li>30</li><li>31</li><li>32</li><li>33</li><li>34</li></ul><div class="save_code tracking-ad" data-mod="popu_249"><a href="javascript:;" target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png"></a></div><ul class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li><li>13</li><li>14</li><li>15</li><li>16</li><li>17</li><li>18</li><li>19</li><li>20</li><li>21</li><li>22</li><li>23</li><li>24</li><li>25</li><li>26</li><li>27</li><li>28</li><li>29</li><li>30</li><li>31</li><li>32</li><li>33</li><li>34</li></ul></pre>


<p>【多行多列操作】</p>


<p>按v进入visual状态,选择多行,用&gt;或&lt;缩进或缩出</p>


<p>通常根据语言特征使用自动缩进排版:在命令状态下对当前行用== (连按=两次), 或对多行用n==(n是自然数)表示自动缩进从当前行起的下面n行。你可以试试把代码缩进任意打乱再用n==排版,相当于一般IDE里的code format。使用gg=G可对整篇代码进行排版。</p>


<p>:20,30 s/^/#/g 第20到30行用 # 注释掉。 <br>
:20,30 s/^#//g 取消注释</p>


<p>:4,10 s/^[^I ]+// 去掉行首的空白字符</p>


<p>:co 12      “把当前行 copy 到行 12 的地方。 <br>
可以看到 vim 命令针对当前行,在前面加个范围就可以针对多行。 <br>
用 . 表示当前行, % 表示全文, $ 表示末尾</p>


<p>:.,30 s/^/#/g</p>






<h2 id="vim配置文件使用"><a name="t2"></a>vim配置文件使用</h2>


<p><code>vim --version</code>查看vim支持的功能以及配置文件目录</p>






<pre class="prettyprint" name="code"><code class="hljs sql has-numbering"><span class="hljs-operator"><span class="hljs-keyword">set</span> nocompatible <span class="hljs-string">" 关闭 vi 兼容模式
"</span> colorscheme morning <span class="hljs-string">" 设定配色方案/usr/share/vim/vim74/colors
set number "</span> 显示行号
<span class="hljs-keyword">set</span> cursorline <span class="hljs-string">" 突出显示当前行
set ruler "</span> 打开状态栏标尺
<span class="hljs-keyword">set</span> shiftwidth=<span class="hljs-number">4</span> <span class="hljs-string">" 设定 &lt;&lt; 和 &gt;&gt; 命令移动时的宽度为 4
set softtabstop=4 "</span> 使得按退格键时可以一次删掉 <span class="hljs-number">4</span> 个空格
<span class="hljs-keyword">set</span> tabstop=<span class="hljs-number">4</span> <span class="hljs-string">" 设定 tab 长度为 4
set expandtab "</span> 将tab键替换成空格
<span class="hljs-string">" :set ts=4
"</span> :<span class="hljs-keyword">set</span> noexpandtab
<span class="hljs-string">" :%retab!
"</span> :<span class="hljs-keyword">set</span> list 显示制表符,显示方式如下设置
<span class="hljs-string">" set listchars=tab:&gt;-,trail:-
"</span> <span class="hljs-keyword">set</span> listchars=tab:\|\ ,trail:.,extends:&gt;,precedes:&lt;,eol:$


<span class="hljs-keyword">set</span> nobackup <span class="hljs-string">" 覆盖文件时不备份
set autochdir "</span> 自动切换当前目录为当前文件所在的目录
syntax <span class="hljs-keyword">on</span> <span class="hljs-string">" 自动语法高亮
filetype plugin indent on "</span> 开启插件
<span class="hljs-keyword">set</span> backupcopy=yes <span class="hljs-string">" 设置备份时的行为为覆盖


set ignorecase smartcase "</span> 搜索时忽略大小写,但在有一个或以上大写字母时仍保持对大小写敏感
<span class="hljs-keyword">set</span> nowrapscan <span class="hljs-string">" 禁止在搜索到文件两端时重新搜索
set incsearch "</span> 输入搜索内容时就显示搜索结果
<span class="hljs-keyword">set</span> hlsearch <span class="hljs-string">" 搜索时高亮显示被找到的文本
set noerrorbells "</span> 关闭错误信息响铃
<span class="hljs-keyword">set</span> novisualbell <span class="hljs-string">" 关闭使用可视响铃代替呼叫
set t_vb= "</span> 置空错误铃声的终端代码
<span class="hljs-string">" set showmatch "</span> 插入括号时,短暂地跳转到匹配的对应括号
<span class="hljs-string">" set matchtime=2 "</span> 短暂跳转到匹配括号的时间
<span class="hljs-keyword">set</span> magic <span class="hljs-string">" 设置魔术
set hidden "</span> 允许在有未保存的修改时切换缓冲区,此时的修改由 vim 负责保存
<span class="hljs-keyword">set</span> guioptions-=T <span class="hljs-string">" 隐藏工具栏
set guioptions-=m "</span> 隐藏菜单栏
<span class="hljs-keyword">set</span> smartindent <span class="hljs-string">" 开启新行时使用智能自动缩进
set backspace=indent,eol,start "</span> 不设定在插入状态无法用退格键和<span class="hljs-keyword">Delete</span> 键删除回车符
<span class="hljs-keyword">set</span> cmdheight=<span class="hljs-number">1</span> <span class="hljs-string">" 设定命令行的行数为 1
set laststatus=2 "</span> 显示状态栏 (默认值为 <span class="hljs-number">1</span>, 无法显示状态栏)
<span class="hljs-keyword">set</span> statusline=\ %&lt;%F[%<span class="hljs-number">1</span>*%M%*%n%R%H]%=\ %y\ %<span class="hljs-number">0</span>(%{&amp;fileformat}\ %{&amp;encoding}\%c:%l/%L%)\ 
<span class="hljs-string">" 设置在状态行显示的信息


set nofoldenable "</span> 开始折叠
<span class="hljs-keyword">set</span> foldmethod=syntax <span class="hljs-string">" 设置语法折叠
set foldcolumn=0 "</span> 设置折叠区域的宽度
setlocal foldlevel=<span class="hljs-number">1</span> <span class="hljs-string">" 设置折叠层数为
"</span> <span class="hljs-keyword">set</span> foldclose=<span class="hljs-keyword">all</span> <span class="hljs-string">" 设置为自动关闭折叠 
"</span> nnoremap &lt;<span class="hljs-keyword">space</span>&gt; @=((foldclosed(line(<span class="hljs-string">'.'</span>)) &lt; <span class="hljs-number">0</span>) ? <span class="hljs-string">'zc'</span> : <span class="hljs-string">'zo'</span>)&lt;CR&gt;
<span class="hljs-string">" 用空格键来开关折叠</span></span></code><ul class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li><li>13</li><li>14</li><li>15</li><li>16</li><li>17</li><li>18</li><li>19</li><li>20</li><li>21</li><li>22</li><li>23</li><li>24</li><li>25</li><li>26</li><li>27</li><li>28</li><li>29</li><li>30</li><li>31</li><li>32</li><li>33</li><li>34</li><li>35</li><li>36</li><li>37</li><li>38</li><li>39</li><li>40</li><li>41</li><li>42</li><li>43</li><li>44</li><li>45</li><li>46</li><li>47</li><li>48</li><li>49</li></ul><div class="save_code tracking-ad" data-mod="popu_249"><a href="javascript:;" target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png"></a></div><ul class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li><li>13</li><li>14</li><li>15</li><li>16</li><li>17</li><li>18</li><li>19</li><li>20</li><li>21</li><li>22</li><li>23</li><li>24</li><li>25</li><li>26</li><li>27</li><li>28</li><li>29</li><li>30</li><li>31</li><li>32</li><li>33</li><li>34</li><li>35</li><li>36</li><li>37</li><li>38</li><li>39</li><li>40</li><li>41</li><li>42</li><li>43</li><li>44</li><li>45</li><li>46</li><li>47</li><li>48</li><li>49</li></ul></pre>






<h2 id="vim插件的使用"><a name="t3"></a>vim插件的使用</h2>






<h3 id="ctags"><a name="t4"></a>ctags</h3>


<p>【安装】</p>


<ul>
<li>安装: <code>yum install -y ctags</code></li>
</ul>


<p>【生成tags文件】</p>


<ul>
<li>ctags -R      递归的为当前目录及子目录下的所有代码文件生成tags文件</li>
<li>ctags <em>.c </em>.h 为某些源码生成tags文件</li>
</ul>


<p>为了使得字段补全有效,在生成tags时需要一些额外的参数,推荐的c++参数主要是: <br>
<code>ctags -R --c++-kinds=+px --fields=+iaS --extra=+q</code> <br>
其中: <br>
选项c++-kinds 用于指定C++语言的 tags记录类型,  –c-kinds用于指定<a href="http://lib.csdn.net/base/c" class="replace_word" title="C语言知识库" target="_blank" style="color:#df3434; font-weight:bold;">C语言</a>的,  通用格式是  –{language}-kinds <br>
选项 fileds 用于指定每条标记的扩展字段域 <br>
extra 选项用于增加额外的条目:   f表示为每个文件增加一个条目,  q为每个类增加一个条目</p>


<p>【使用方法】</p>


<p>在vim打开源码时,指定tags文件,才可正常使用,通常手动指定,在vim命令行输入: <br>
<code>:set tags=./tags</code> (当前路径下的tags文件) <br>
若要引用多个不同目录的tags文件,可以用逗号隔开</p>


<p>或者,设置 ~/.vimrc,加入一行,则不用手动设置tags路径: <br>
set tags=~/path/tags</p>


<p>若要加入系统函数或全局变量的tag标签,则需执行: <br>
<code>ctags -I __THROW --file-scope=yes --langmap=c:+.h --languages=c,c++ --links=yes --c-kinds=+px --fields=+S -f ~/.vim/systags -R /usr/include /usr/local/include *</code> <br>
并且在~/.vimrc中添加(亦可用上面描述的手动加入的方式): <br>
set tags+=~/.vim/systags <br>
这样,便可以享受系统库函数名补全、原型预览等功能了。</p>


<p>如果经常在不同工程里查阅代码,那么可以在~/.vimrc中添加: <br>
set tags=tags; <br>
set autochdir</p>


<p>设置好了tags文件,在定位变量/函数的定义时,最常用的快捷键是: <br>
Ctrl + ] <br>
跳转到变量或函数的定义处,或者用命令 <br>
:ta name <br>
而使用快捷组合键 <br>
Ctrl + o/t  <br>
返回到跳转前的位置。</p>


<p>另外,ctags不会生成局部变量的索引,不过可以使用gd组合键(对光标所在处的word进行快捷查找定位)来定位,也是相当快捷的。</p>


<p>$ vim -t myAdd <br>
用vim打开文件时,添加参数-t funcName会自动打开定义该函数的文件并定位到定义首行,上面这句就是找到myAdd定义的文件打开并将光标置于定义的第一行处。</p>


<p>:tags  <br>
会列出查找/跳转过程(经过的标签列表)</p>


<p>另外,附上vim环境中其他较为好用的快捷键: <br>
* 定位至当前光光标所指单词的下一次出现的地方 <br>
# 定位至当前光光标所指单词的上一次出现的地方 <br>
n 定位至跳至已被标记出的单词下一次出现的地方 <br>
shift+n 定位至跳至已被标记出的单词上一次出现的地方</p>


<p>关于更详细的ctags用法,vim中使用 <br>
:help tags</p>






<h3 id="taglist"><a name="t5"></a>taglist</h3>


<p>【功能】 <br>
a source code browser(supports C/C++, <a href="http://lib.csdn.net/base/javase" class="replace_word" title="Java SE知识库" target="_blank" style="color:#df3434; font-weight:bold;">Java</a>, perl, <a href="http://lib.csdn.net/base/python" class="replace_word" title="Python知识库" target="_blank" style="color:#df3434; font-weight:bold;">Python</a>, tcl, sql, <a href="http://lib.csdn.net/base/php" class="replace_word" title="PHP知识库" target="_blank" style="color:#df3434; font-weight:bold;">PHP</a>, etc): 提供了源码的结构化浏览功能,可将源码中定义的类、函数、变量等以树结构显示,层次关系可一目了然,而且于快速定位并查看。</p>


<p>【下载安装】 <br>
taglist插件是以vim脚本的形式存在,因此只需要将其下载下来放到相应的目录即可。taglist基于ctags才能发挥作用,因此在使用taglist之前,确保已经安装了ctags。</p>


<p>下载地址(两个可选择任意一个): <br>
Official site  <a href="http://vim-taglist.sourceforge.net/">http://vim-taglist.sourceforge.net/</a> <br>
VIM online  <a href="http://www.vim.org/scripts/script.php?script_id=273">http://www.vim.org/scripts/script.php?script_id=273</a></p>


<p>将文件放到<strong>/usr/share/vim/vim74</strong>对应的文件夹下即可</p>


<p>在vim配置文件中配置taglist选项:</p>






<pre class="prettyprint" name="code"><code class="hljs lasso has-numbering"><span class="hljs-string">"如果ctags不在Path路径下,则配置ctags的路径
if MySys() == "</span>windows<span class="hljs-string">"
 let Tlist_Ctags_Cmd = 'ctags'
elseif MySys() == "</span>linux<span class="hljs-string">"
 let Tlist_Ctags_Cmd = '/usr/bin/ctags'
endif


let Tlist_Show_One_File = 1        "</span>不同时显示多个文件的<span class="hljs-built_in">tag</span>,只显示当前文件的
<span class="hljs-keyword">let</span> Tlist_Exit_OnlyWindow <span class="hljs-subst">=</span> <span class="hljs-number">1</span>      <span class="hljs-string">"如果taglist窗口是最后一个窗口,则退出vim
let Tlist_Use_Right_Window = 1     "</span>在右侧窗口中显示taglist窗口
<span class="hljs-keyword">let</span> Tlist_Sort_Type <span class="hljs-subst">=</span> <span class="hljs-string">"name"</span>       <span class="hljs-string">"taglist以tag名字进行排序,缺省是按tag在文件中出现的顺序进行排序
let Tlist_Use_SingleClick = 1      "</span>设置单击<span class="hljs-built_in">tag</span>就跳转到定义处,确实双击
<span class="hljs-keyword">let</span> Tlist_Auto_Open<span class="hljs-subst">=</span><span class="hljs-number">1</span>              <span class="hljs-string">"启动vim自动打开taglist窗口
let Tlist_Close_On_Select=1        "</span>在选择了<span class="hljs-built_in">tag</span>后自动关闭taglist窗口
<span class="hljs-keyword">let</span> Tlist_File_Fold_Auto_Close<span class="hljs-subst">=</span><span class="hljs-number">1</span>   <span class="hljs-string">"当同时显示多个文件中的tag时,可使taglist只显示当前文件tag,其它文件的tag都被折叠起来。
let Tlist_GainFocus_On_ToggleOpen=1"</span>在使用:TlistToggle打开taglist窗口时,输入焦点在taglist窗口中
<span class="hljs-keyword">let</span> Tlist_Process_File_Always<span class="hljs-subst">=</span><span class="hljs-number">1</span>    <span class="hljs-string">"taglist始终解析文件中的tag,不管taglist窗口有没有打开
let Tlist_Use_Horiz_Window = 1     "</span>设置taglist窗口横向显示
<span class="hljs-string">" Tlist_WinHeight和Tlist_WinWidth可以设置taglist窗口的高度和宽度</span></code><ul class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li><li>13</li><li>14</li><li>15</li><li>16</li><li>17</li><li>18</li><li>19</li></ul><div class="save_code tracking-ad" data-mod="popu_249"><a href="javascript:;" target="_blank"><img src="http://static.blog.csdn.net/images/save_snippets.png"></a></div><ul class="pre-numbering"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li><li>11</li><li>12</li><li>13</li><li>14</li><li>15</li><li>16</li><li>17</li><li>18</li><li>19</li></ul></pre>


<p>在taglist窗口中可以使用的快捷键:</p>


<table>
<thead>
<tr>
  <th align="left">快捷键</th>
  <th>功能说明</th>
</tr>
</thead>
<tbody><tr>
  <td align="left">CR</td>
  <td>跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样</td>
</tr>
<tr>
  <td align="left">o</td>
  <td>在一个新打开的窗口中显示光标下tag</td>
</tr>
<tr>
  <td align="left">Space</td>
  <td>显示光标下tag的原型定义</td>
</tr>
<tr>
  <td align="left">u</td>
  <td>更新taglist窗口中的tag</td>
</tr>
<tr>
  <td align="left">s</td>
  <td>更改排序方式,在按名字排序和按出现顺序排序间切换</td>
</tr>
<tr>
  <td align="left">x</td>
  <td>taglist窗口放大和缩小,方便查看较长的tag</td>
</tr>
<tr>
  <td align="left">+</td>
  <td>打开一个折叠,同zo</td>
</tr>
<tr>
  <td align="left">-</td>
  <td>将tag折叠起来,同zc</td>
</tr>
<tr>
  <td align="left">*</td>
  <td>打开所有的折叠,同zR</td>
</tr>
<tr>
  <td align="left">=</td>
  <td>将所有tag折叠起来,同zM</td>
</tr>
<tr>
  <td align="left">[[</td>
  <td>跳到前一个文件</td>
</tr>
<tr>
  <td align="left">]]</td>
  <td>跳到后一个文件</td>
</tr>
<tr>
  <td align="left">q</td>
  <td>关闭taglist窗口</td>
</tr>
<tr>
  <td align="left">F1</td>
  <td>显示帮助</td>
</tr>
</tbody></table>








<h3 id="cscope"><a name="t6"></a>cscope</h3>


<ul>
<li>安装: <code>yum install -y cscope</code></li>
</ul>






<h2 id="配置文件语法介绍"><a name="t7"></a>配置文件语法介绍</h2>






<h3 id="快捷键映射"><a name="t8"></a>快捷键映射</h3>


<p>【vim模式】 <br>
Vim的模式众多,但是一般被提及的也就是这么几种:</p>


<ul>
<li><p><strong>Normal Mode</strong> <br>
也就是最一般的普通模式,默认进入vim之后,处于这种模式。</p></li>
<li><p><strong>Visual Mode</strong> <br>
一般译作可视模式,在这种模式下选定一些字符、行、多列。 <br>
在普通模式下,可以按v进入。</p></li>
<li><p><strong>Insert Mode</strong> <br>
插入模式,其实就是指处在编辑输入的状态。普通模式下,可以按i进入。</p></li>
<li><p><strong>Select Mode</strong> <br>
在gvim下常用的模式,可以叫作选择模式吧。用鼠标拖选区域的时候,就进入了选择模式。 <br>
和可视模式不同的是,在这个模式下,选择完了高亮区域后,敲任何按键就直接输入并替换选择的文本了。 <br>
和windows下的编辑器选定编辑的效果一致。普通模式下,可以按gh进入。</p></li>
<li><p><strong>Command-Line/Ex Mode</strong> <br>
就叫命令行模式和Ex模式吧。两者略有不同,普通模式下按冒号(:)进入Command-Line模式,可以输入各种命令, <br>
使用vim的各种强大功能。普通模式下按Q进入Ex模式,其实就是多行的Command-Line模式。</p></li>
</ul>


<p>【Map基本概念】</p>


<p>命令的组合 <br>
同Vim下的其他命令一样,命令的名字往往由好几段组成。前缀作为命令本身的修饰符,微调命令的效果。 <br>
对于map而言,可能有这么几种前缀</p>


<ul>
<li>nore <br>
表示非递归,见下面的介绍</li>
<li>n <br>
表示在普通模式下生效</li>
<li>v <br>
表示在可视模式下生效</li>
<li>i <br>
表示在插入模式下生效</li>
<li>c <br>
表示在命令行模式下生效</li>
</ul>


<p>【快捷键映射实例】</p>


<p>右括号自动补全:</p>


<ul>
<li><code>inoremap ( ()&lt;ESC&gt;i</code></li>
<li><code>inoremap [ []&lt;ESC&gt;i</code></li>
<li><code>inoremap { {}&lt;ESC&gt;i&lt;CR&gt;&lt;ESC&gt;&lt;S-o&gt;</code></li>
<li><code>inoremap &lt; &lt;&gt;&lt;ESC&gt;i</code></li>
<li><code>inoremap " ""&lt;ESC&gt;i</code></li>
<li><code>inoremap ' ''&lt;ESC&gt;i</code></li>
</ul>






<h2 id="参考"><a name="t9"></a>参考</h2>


<ul>
<li><a href="http://blog.sina.com.cn/s/blog_76e7bdba01017gap.html">Vim 的补全模式加速器,轻松玩转全部 15 种自动补全模式 </a></li>
<li><a href="http://cscope.sourceforge.net/">http://cscope.sourceforge.net/</a></li>
<li><a href="http://ctags.sourceforge.net/">http://ctags.sourceforge.net/</a></li>
<li><a href="http://blog.csdn.net/g_brightboy/article/details/16830395">vim插件ctags的安装和使用</a></li>
<li><a href="http://blog.csdn.net/G_BrightBoy/article/details/16843899">vim插件taglist的安装和使用</a></li>
<li><a href="http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html">强大的vim配置文件,让编程更随意</a></li>
</ul></div>
        <script type="text/javascript">
            $(function () {
                $('pre.prettyprint code').each(function () {
                    var lines = $(this).text().split('\n').length;
                    var $numbering = $('<ul></ul>').addClass('pre-numbering').hide();
                    $(this).addClass('has-numbering').parent().append($numbering);
                    for (i = 1; i <= lines; i++) {
                        $numbering.append($('<li></li>').text(i));
                    };
                    $numbering.fadeIn(1700);
                });
            });
        </script>
   
</div>








<!-- Baidu Button BEGIN -->








<div class="bdsharebuttonbox tracking-ad bdshare-button-style0-16" style="float: right;" data-mod="popu_172" data-bd-bind="1490414771430">
<a href="#" class="bds_more" data-cmd="more" style="background-position:0 0 !important; background-image: url(http://bdimg.share.baidu.com/static/api/img/share/icons_0_16.png?v=d754dcc0.png) !important" target="_blank"></a>
<a href="#" class="bds_qzone" data-cmd="qzone" title="分享到QQ空间" style="background-position:0 -52px !important" target="_blank"></a>
<a href="#" class="bds_tsina" data-cmd="tsina" title="分享到新浪微博" style="background-position:0 -104px !important" target="_blank"></a>
<a href="#" class="bds_tqq" data-cmd="tqq" title="分享到腾讯微博" style="background-position:0 -260px !important" target="_blank"></a>
<a href="#" class="bds_renren" data-cmd="renren" title="分享到人人网" style="background-position:0 -208px !important" target="_blank"></a>
<a href="#" class="bds_weixin" data-cmd="weixin" title="分享到微信" style="background-position:0 -1612px !important" target="_blank"></a>
</div>
<script>window._bd_share_config = { "common": { "bdSnsKey": {}, "bdText": "", "bdMini": "1", "bdMiniList": false, "bdPic": "", "bdStyle": "0", "bdSize": "16" }, "share": {} }; with (document) 0[(getElementsByTagName('head')[0] || body).appendChild(createElement('script')).src = 'http://bdimg.share.baidu.com/static/api/js/share.js?v=89860593.js?cdnversion=' + ~(-new Date() / 36e5)];</script>
<!-- Baidu Button END -->


   <link rel="stylesheet" href="http://static.blog.csdn.net/css/blog_detail.css">


    
<!--172.16.140.14-->


<!-- Baidu Button BEGIN -->
<script type="text/javascript" id="bdshare_js" data="type=tools&amp;uid=1536434" src="http://bdimg.share.baidu.com/static/js/bds_s_v2.js?cdnversion=414005"></script>


<script type="text/javascript">
    document.getElementById("bdshell_js").src = "http://bdimg.share.baidu.com/static/js/shell_v2.js?cdnversion=" + Math.ceil(new Date()/3600000)
</script>
<!-- Baidu Button END -->


 




        <div id="digg" articleid="51868170">
            <dl id="btnDigg" class="digg digg_enable" οnclick="btndigga();">
               
                 <dt>顶</dt>
                <dd>0</dd>
            </dl>
           
              
            <dl id="btnBury" class="digg digg_enable" οnclick="btnburya();">
              
                  <dt>踩</dt>
                <dd>0</dd>               
            </dl>
            
        </div>
     <div class="tracking-ad" data-mod="popu_222"><a href="javascript:void(0);" target="_blank">&nbsp;</a>   </div>
    <div class="tracking-ad" data-mod="popu_223"> <a href="javascript:void(0);" target="_blank">&nbsp;</a></div>
    <script type="text/javascript">
                function btndigga() {
                    $(".tracking-ad[data-mod='popu_222'] a").click();
                }
                function btnburya() {
                    $(".tracking-ad[data-mod='popu_223'] a").click();
                }
            </script>


   <ul class="article_next_prev">
                <li class="prev_article"><span οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian']);location.href='/callinglove/article/details/51812515';">上一篇</span><a href="/callinglove/article/details/51812515" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_shangyipian'])">VS2013使用技巧</a></li>
                <li class="next_article"><span οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian']);location.href='/callinglove/article/details/65633781';">下一篇</span><a href="/callinglove/article/details/65633781" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_xiayipian'])">内核编程之Hello_kernel</a></li>
    </ul>


    <div style="clear:both; height:10px;"></div>




        <div class="similar_article" style="">
                <h4>我的同类文章</h4>
                <div class="similar_c" style="margin:20px 0px 0px 0px">
                    <div class="similar_c_t">
                                <label class="similar_cur">
                                    <span style="cursor:pointer" οnclick="GetCategoryArticles('2616885','callinglove','foot','51868170');">开发环境搭建<em>(11)</em></span>
                                </label>
                    </div>
                   
                    <div class="similar_wrap tracking-ad" data-mod="popu_141" style="max-height:195px;">
                        <a href="http://blog.csdn.net" style="display:none" target="_blank">http://blog.csdn.net</a>
                        <ul class="similar_list fl"><li><em>•</em><a href="http://blog.csdn.net/callinglove/article/details/51812515" id="foot_aritcle_51812515undefined4348216119024457" target="_blank" title="VS2013使用技巧">VS2013使用技巧</a><span>2016-07-02</span><label><i>阅读</i><b>301</b></label></li> <li><em>•</em><a href="http://blog.csdn.net/callinglove/article/details/50720721" id="foot_aritcle_50720721undefined6631740970849644" target="_blank" title="eclipse--android开发环境搭建教程">eclipse--android开发环境搭建教程</a><span>2016-02-23</span><label><i>阅读</i><b>985</b></label></li> <li><em>•</em><a href="http://blog.csdn.net/callinglove/article/details/46933991" id="foot_aritcle_46933991undefined12840797561846107" target="_blank" title="CentOS7开发环境搭建">CentOS7开发环境搭建</a><span>2015-07-17</span><label><i>阅读</i><b>3295</b></label></li> <li><em>•</em><a href="http://blog.csdn.net/callinglove/article/details/39855305" id="foot_aritcle_39855305undefined9687036824142381" target="_blank" title="cygwin开发环境搭建与apt-cyg的应用">cygwin开发环境搭建与apt-cyg的应用</a><span>2014-10-07</span><label><i>阅读</i><b>16056</b></label></li> <li><em>•</em><a href="http://blog.csdn.net/callinglove/article/details/8782220" id="foot_aritcle_8782220undefined035964213064615835" target="_blank" title="ubuntu一些配置">ubuntu一些配置</a><span>2013-04-10</span><label><i>阅读</i><b>648</b></label></li> </ul>


                        <ul class="similar_list fr"><li><em>•</em><a href="http://blog.csdn.net/callinglove/article/details/51287686" id="foot_aritcle_51287686undefined02471801016642461" target="_blank" title="Ubuntu开发环境搭建">Ubuntu开发环境搭建</a><span>2016-04-30</span><label><i>阅读</i><b>260</b></label></li> <li><em>•</em><a href="http://blog.csdn.net/callinglove/article/details/48601775" id="foot_aritcle_48601775undefined3187943863324454" target="_blank" title="MSYS2开发环境搭建">MSYS2开发环境搭建</a><span>2015-09-20</span><label><i>阅读</i><b>8055</b></label></li> <li><em>•</em><a href="http://blog.csdn.net/callinglove/article/details/39925007" id="foot_aritcle_39925007undefined9024330932497677" target="_blank" title="CentOS下升级python版本">CentOS下升级python版本</a><span>2014-10-09</span><label><i>阅读</i><b>1836</b></label></li> <li><em>•</em><a href="http://blog.csdn.net/callinglove/article/details/38947661" id="foot_aritcle_38947661undefined5429717279553208" target="_blank" title="Linux下ARM开发环境搭建">Linux下ARM开发环境搭建</a><span>2014-08-30</span><label><i>阅读</i><b>5055</b></label></li> <li><em>•</em><a href="http://blog.csdn.net/callinglove/article/details/8316837" id="foot_aritcle_8316837undefined5097154837071967" target="_blank" title="在window下使用linux工具">在window下使用linux工具</a><span>2012-12-18</span><label><i>阅读</i><b>788</b></label></li> </ul>
                    <a href="http://blog.csdn.net/callinglove/article/category/2616885" class="MoreArticle">更多文章</a></div>
                </div>
            </div>    
    <script type="text/javascript">
        $(function () {
            GetCategoryArticles('2616885', 'callinglove','foot','51868170');
        });
    </script>
      
</div>


     <div>
             <div class="J_adv" data-view="true" data-mod="ad_popu_206" data-mtp="43" data-order="114" data-con="ad_content_1901" style="width: 960px; height: 90px;"><script src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:inline-block;width:960px;height:90px" data-ad-client="ca-pub-8990951720398508" data-ad-slot="8267689356/3776917242" data-adsbygoogle-status="done"><ins id="aswift_0_expand" style="display:inline-table;border:none;height:90px;margin:0;padding:0;position:relative;visibility:visible;width:960px;background-color:transparent"><ins id="aswift_0_anchor" style="display:block;border:none;height:90px;margin:0;padding:0;position:relative;visibility:visible;width:960px;background-color:transparent"><iframe width="960" height="90" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" οnlοad="var i=this.id,s=window.google_iframe_oncopy,H=s&amp;&amp;s.handlers,h=H&amp;&amp;H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=s.upd(h,i)}catch(e){}w.location.replace(h)}}" id="aswift_0" name="aswift_0" style="left:0;position:absolute;top:0;"></iframe></ins></ins></ins><script>(adsbygoogle=window.adsbygoogle || []).push({});</script></div> 
    </div>


<div id="suggest">


</div>
         <script language="javascript" type="text/javascript">     
             $(function(){
                 $.get("/callinglove/svc/GetSuggestContent/51868170",function(data){
                     $("#suggest").html(data);
                 });     
             });             
         </script>  




<style>
.blog-ass-articl dd {
color: #369;
width: 99%; /*修改行*/
float: left;
overflow: hidden;
font: normal normal 12px/23px "SimSun";
height: 23px;
margin: 0;
padding: 0 0 0 10px;
margin-right: 30px;
background: url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;
}
</style>


 <link rel="stylesheet" href="http://static.blog.csdn.net/css/replace.css">


<div id="relate" data-mod="popu_218" class="tracking-ad" style="display: block;">
        <div class="relate_t">
            <h3><span>参考知识库</span></h3>
        </div>
        <div class="relate_c"><dl class="relate_list"><dt><a target="_blank" href="http://lib.csdn.net/base/python"><img src="http://img.knowledge.csdn.net/upload/base/1452500783406_406.jpg" alt="img"></a></dt><dd><h4><a target="_blank" href="http://lib.csdn.net/base/python">Python知识库</a></h4><p><label><span>21821</span><em>关注</em><i>|</i><span>1345</span><em>收录</em></label></p></dd></dl><dl class="relate_list"><dt><a target="_blank" href="http://lib.csdn.net/base/php"><img src="http://img.knowledge.csdn.net/upload/base/1463455906707_707.jpg" alt="img"></a></dt><dd><h4><a target="_blank" href="http://lib.csdn.net/base/php">PHP知识库</a></h4><p><label><span>6259</span><em>关注</em><i>|</i><span>909</span><em>收录</em></label></p></dd></dl><dl class="relate_list"><dt><a target="_blank" href="http://lib.csdn.net/base/dotnet"><img src="http://img.knowledge.csdn.net/upload/base/1470876331285_285.jpg" alt="img"></a></dt><dd><h4><a target="_blank" href="http://lib.csdn.net/base/dotnet">.NET知识库</a></h4><p><label><span>3500</span><em>关注</em><i>|</i><span>827</span><em>收录</em></label></p></dd></dl><dl class="relate_list"><dt><a target="_blank" href="http://lib.csdn.net/base/linux"><img src="http://img.knowledge.csdn.net/upload/base/1468390230134_134.jpg" alt="img"></a></dt><dd><h4><a target="_blank" href="http://lib.csdn.net/base/linux">Linux知识库</a></h4><p><label><span>11007</span><em>关注</em><i>|</i><span>3803</span><em>收录</em></label></p></dd></dl><dl class="relate_list"><dt><a target="_blank" href="http://lib.csdn.net/base/c"><img src="http://img.knowledge.csdn.net/upload/base/1466132253931_931.jpg" alt="img"></a></dt><dd><h4><a target="_blank" href="http://lib.csdn.net/base/c">C语言知识库</a></h4><p><label><span>8270</span><em>关注</em><i>|</i><span>3455</span><em>收录</em></label></p></dd></dl><dl class="relate_list"><dt><a target="_blank" href="http://lib.csdn.net/base/javase"><img src="http://img.knowledge.csdn.net/upload/base/1453169124297_297.jpg" alt="img"></a></dt><dd><h4><a target="_blank" href="http://lib.csdn.net/base/javase">Java SE知识库</a></h4><p><label><span>24921</span><em>关注</em><i>|</i><span>477</span><em>收录</em></label></p></dd></dl><dl class="relate_list"><dt><a target="_blank" href="http://lib.csdn.net/base/javaee"><img src="http://img.knowledge.csdn.net/upload/base/1456818035722_722.jpg" alt="img"></a></dt><dd><h4><a target="_blank" href="http://lib.csdn.net/base/javaee">Java EE知识库</a></h4><p><label><span>16774</span><em>关注</em><i>|</i><span>1265</span><em>收录</em></label></p></dd></dl><dl class="relate_list"><dt><a target="_blank" href="http://lib.csdn.net/base/java"><img src="http://img.knowledge.csdn.net/upload/base/1453701371636_636.jpg" alt="img"></a></dt><dd><h4><a target="_blank" href="http://lib.csdn.net/base/java">Java 知识库</a></h4><p><label><span>24513</span><em>关注</em><i>|</i><span>1456</span><em>收录</em></label></p></dd></dl></div>
</div>
 


<dl class="blog-ass-articl" id="res-relatived"> 
    <div class="embody embody_b" id="libkeyparent" style="display:none">
            <span class="embody_t">更多资料请参考:</span>
            <div class="embody_c" id="libkey"></div>
    </div>




     <dt><span>猜你在找</span></dt>    




   




    <div id="adCollege" style="width: 42%;float: left;"> 
        <script src="http://csdnimg.cn/jobreco/job_reco.js" type="text/javascript"></script> 
        <script type="text/javascript">
            csdn.position.showEdu({
                sourceType: "blog",
                searchType: "detail",
                searchKey: "51868170",
                username: "searcht",
                recordcount: "5",
                containerId: "adCollege" //容器DIV的id。 
            });
            
            setEduLoc();


            function setEduLoc() {               
                var edus = $("#adCollege div dd a");
                if (edus.length == 0) {
                    setTimeout(function () {
                        setEduLoc();
                    }, 500);
                }
                else {
                    var eduLoc = "?ref=blog&loc=0";
                    $.each(edus, function (index,item) {
                        var href = $(this).attr("href") + eduLoc;
                        $(this).attr("href", href);
                    });
                }
            }


        </script> 
    <div class="tracking-ad" data-mod="popu_84"><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"><a href="http://edu.csdn.net/course/detail/2384?ref=blog&amp;loc=0" title="Swift与Objective-C\C\C++混合编程" strategy="v4:content" target="_blank">Swift与Objective-C\C\C++混合编程</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"><a href="http://edu.csdn.net/course/detail/1353?ref=blog&amp;loc=0" title="《C语言/C++学习指南》Linux开发篇" strategy="v4:content" target="_blank">《C语言/C++学习指南》Linux开发篇</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"><a href="http://edu.csdn.net/course/detail/3738?ref=blog&amp;loc=0" title="零基础学会在Linux上编译调试C++项目" strategy="v4:content" target="_blank">零基础学会在Linux上编译调试C++项目</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"><a href="http://edu.csdn.net/course/detail/2570?ref=blog&amp;loc=0" title="Visual Studio 2015开发C++程序的基本使用" strategy="v4:content" target="_blank">Visual Studio 2015开发C++程序的基本使用</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px; white-space: nowrap;"><a href="http://edu.csdn.net/course/detail/1865?ref=blog&amp;loc=0" title="C++ DirectX 游戏开发初级教程" strategy="v4:content" target="_blank">C++ DirectX 游戏开发初级教程</a></dd></div></div>  


    
     <div id="res" data-mod="popu_36" class="tracking-ad" style="width: 42%; float: left; margin-right: 30px; display: block;"><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="http://blog.csdn.net/Geepai/article/details/46608959" title="Linux vim 使用总结" strategy="SearchAlgorithm" target="_blank">Linux vim 使用总结</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="http://blog.csdn.net/jiutianhe/article/details/8039993" title="Vim使用总结" strategy="SearchAlgorithm" target="_blank">Vim使用总结</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="http://blog.csdn.net/prien/article/details/5373054" title="VIM使用总结" strategy="SearchAlgorithm" target="_blank">VIM使用总结</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="http://blog.csdn.net/ZongYinHu/article/details/49048493" title="Linuxvim中高频使用指令总结---使vim用起来更加得心应手" strategy="SearchAlgorithm" target="_blank">Linuxvim中高频使用指令总结---使vim用起来更加得心应手</a></dd><dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="http://blog.csdn.net/maturn/article/details/6125423" title="VIM使用--总结自己常用的VIM操作" strategy="SearchAlgorithm" target="_blank">VIM使用--总结自己常用的VIM操作</a></dd></div>
   
</dl>




<script type="text/javascript">
    $(function () {
        setTimeout(function () {
            var searchtitletags = 'vim使用总结' + ',' + $("#tags").html();
            searchService({
                index: 'blog',
                query: searchtitletags,
                from: 5,
                size: 5,
                appendTo: '#res',
                url: 'recommend',
                his: 2,
                client: "blog_cf_enhance",
                tmpl: '<dd style="background:url(http://static.blog.csdn.net/skin/default/images/blog-dot-red3.gif) no-repeat 0 10px;"><a href="#{ url }" title="#{ title }" strategy="#{ strategy }">#{ title }</a></dd>'
            });
        }, 500);
    });    


 </script>  




    <div id="ad_cen">        
                      <div class="J_adv" data-view="true" data-mod="ad_popu_199" data-mtp="43" data-order="114" data-con="ad_content_1843" style="width: 960px; height: 90px;"><script src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:inline-block;width:960px;height:90px" data-ad-client="ca-pub-8990951720398508" data-ad-slot="8267689356/3115746762" data-adsbygoogle-status="done"><ins id="aswift_1_expand" style="display:inline-table;border:none;height:90px;margin:0;padding:0;position:relative;visibility:visible;width:960px;background-color:transparent"><ins id="aswift_1_anchor" style="display:block;border:none;height:90px;margin:0;padding:0;position:relative;visibility:visible;width:960px;background-color:transparent"><iframe width="960" height="90" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" οnlοad="var i=this.id,s=window.google_iframe_oncopy,H=s&amp;&amp;s.handlers,h=H&amp;&amp;H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=s.upd(h,i)}catch(e){}w.location.replace(h)}}" id="aswift_1" name="aswift_1" style="left:0;position:absolute;top:0;"></iframe></ins></ins></ins><script>(adsbygoogle=window.adsbygoogle || []).push({});</script></div>
    </div>  


    <!-- 广告位开始 -->
    <div class="J_adv" data-view="true" data-mod="ad_popu_72" data-mtp="62" data-order="40" data-con="ad_content_2072"><script id="popuLayer_js_q" src="http://ads.csdn.net/js/popuLayer.js" defer="" type="text/javascript"></script><div id="layerd" style="position: fixed; bottom: 0px; right: 0px; line-height: 0px; z-index: 1000; width: 300px; height: 278px;"><div class="J_close layer_close" style="display:;background-color:#efefef;padding:0px;color:#333;font:12px/24px Helvetica,Tahoma,Arial,sans-serif;text-align:right;">关闭</div><!-- 广告占位容器 --><div id="cpro_u2895327"><iframe id="iframeu2895327_0" src="http://pos.baidu.com/scym?rdid=2895327&amp;dc=3&amp;di=u2895327&amp;dri=0&amp;dis=0&amp;dai=1&amp;ps=666x1603&amp;dcb=___adblockplus&amp;dtm=HTML_POST&amp;dvi=0.0&amp;dci=-1&amp;dpt=none&amp;tsr=0&amp;tpr=1490414771305&amp;ti=vim%E4%BD%BF%E7%94%A8%E6%80%BB%E7%BB%93%20-%20%E4%B8%80%E6%AD%A5%E4%B8%80%E8%84%9A%E5%8D%B0%20-%20%E5%8D%9A%E5%AE%A2%E9%A2%91%E9%81%93%20-%20CSDN.NET&amp;ari=2&amp;dbv=2&amp;drs=3&amp;pcs=1903x920&amp;pss=1903x12405&amp;cfv=0&amp;cpl=15&amp;chi=1&amp;cce=true&amp;cec=UTF-8&amp;tlm=1490414771&amp;rw=920&amp;ltu=http%3A%2F%2Fblog.csdn.net%2Fcallinglove%2Farticle%2Fdetails%2F51868170%3FlocationNum%3D2%26fps%3D1&amp;ltr=http%3A%2F%2Fso.csdn.net%2Fso%2Fsearch%2Fs.do%3Fref%3Dtoolbar%26q%3Dvim%26ref%3Dtoolbar%26q%3Dvim&amp;ecd=1&amp;uc=1920x1040&amp;pis=-1x-1&amp;ccd=24&amp;cja=false&amp;cmi=33&amp;col=zh-CN&amp;cdo=-1&amp;sr=1920x1080&amp;tcn=1490414771&amp;qn=ce6237da04d9b49b&amp;tt=1490414771290.18.18.20" width="300" height="250" align="center,center" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" frameborder="0" style="border:0;vertical-align:bottom;margin:0;width:300px;height:250px" allowtransparency="true"></iframe></div></div><script>  document.getElementById('popuLayer_js_q').οnlοad=function(){      var styObjd=styObj={width:'300px','height':parseInt(250)+28};window.CSDN.Layer.PopuLayer('#layerd',{storageName:'layerd',styleObj:styObjd,total:50,expoire:1000*60});  }</script><!-- 投放代码 --><script type="text/javascript">   /*服务器频道首页置顶Banner960*90,创建于2014-7-3*/    (window.cproArray = window.cproArray || []).push({        id: 'u2895327'      });  </script>  <script src="http://cpro.baidustatic.com/cpro/ui/c.js" type="text/javascript"></script></div>
    <!-- 广告位结束 -->


<div class="comment_class">
    <div id="comment_title" class="panel_head">
        <span class="see_comment">查看评论</span><a name="comments"></a></div>
    <div id="comment_list"><br>&nbsp;&nbsp;暂无评论<br><br><div class="clear"></div></div>
    <div id="comment_bar">
    </div>
    <div id="comment_form"><a name="commentbox"></a><a name="reply"></a><a name="quote"></a><form action="/callinglove/comment/submit?id=51868170" method="post" οnsubmit="return subform(this);"><div class="commentform"><div class="panel_head">发表评论</div><ul><li class="left">用 户 名:</li><li class="right">searcht</li></ul><ul><li class="left">评论内容:</li><li class="right" style="position:relative;"><div id="ubbtools"><a href="#insertcode" code="code"><img src="http://static.blog.csdn.net/images/ubb/code.gif" border="0" alt="插入代码" title="插入代码"></a></div><div id="lang_list" style="position: absolute; top: 28px; left: 0px; display: none;"><a class="long_name" href="#html">HTML/XML</a><a class="long_name" href="#objc">objective-c</a><a class="zhong_name" href="#delphi">Delphi</a><a class="zhong_name" href="#ruby">Ruby</a><a href="#php">PHP</a><a class="duan_name" href="#csharp">C#</a><a style=" border-right: none;" class="duan_name" href="#cpp">C++</a><a style=" border-bottom:none;" class="long_name" href="#javascript">JavaScript</a><a style=" border-bottom:none;" class="long_name" href="#vb">Visual Basic</a><a style=" border-bottom:none;" class="zhong_name" href="#python">Python</a><a style=" border-bottom:none;" class="zhong_name" href="#java">Java</a><a style="border-bottom:none;" class="duan_name" href="#css">CSS</a><a style="border-bottom:none;" class="duan_name" href="#sql">SQL</a><a style="border:none;" class="duan_name" href="#plain">其它</a></div><textarea class="comment_content" name="comment_content" id="comment_content" style="width: 400px; height: 200px;"></textarea></li></ul><ul><input type="hidden" id="comment_replyId" name="comment_replyId"><input type="hidden" id="comment_userId" name="comment_userId" value="521203"><input type="hidden" id="commentId" name="commentId" value=""><input type="submit" class="comment_btn" value="提交">&nbsp;&nbsp;<span id="tip_comment" style="color: Red; display: none;"></span></ul></div></form></div>
    <div class="announce">
        * 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场<a name="reply"></a><a name="quote"></a></div>
</div>


<script type="text/javascript">
    var fileName = '51868170';
    var commentscount = 0;
    var islock = false
</script>
<script type="text/javascript" src="http://static.blog.csdn.net/scripts/comment.js"></script>
    <div id="ad_bot">
    </div>
<div id="report_dialog">
</div>


<div id="d-top" style="bottom:60px;">


        <a id="quick-reply" class="btn btn-top q-reply" title="快速回复" style="display:none;">
            <img src="http://static.blog.csdn.net/images/blog-icon-reply.png" alt="快速回复">
        </a>    
    <a id="d-top-a" class="btn btn-top backtop" style="display: none;" title="返回顶部" οnclick="_gaq.push(['_trackEvent','function', 'onclick', 'blog_articles_huidaodingbu'])">         
         <img src="http://static.blog.csdn.net/images/top.png" alt="TOP">
    </a>
</div>
<script type="text/javascript">
    $(function ()
    {
        $("#ad_frm_0").height("90px");
        
        setTimeout(function(){
            $("#ad_frm_2").height("200px");
        },1000);    
    });
  
</script>
<style type="text/css">
    .tag_list
    {
        background: none repeat scroll 0 0 #FFFFFF;
        border: 1px solid #D7CBC1;
        color: #000000;
        font-size: 12px;
        line-height: 20px;
        list-style: none outside none;
        margin: 10px 2% 0 1%;
        padding: 1px;
    }
    .tag_list h5
    {
        background: none repeat scroll 0 0 #E0DBD3;
        color: #47381C;
        font-size: 12px;
        height: 24px;
        line-height: 24px;
        padding: 0 5px;
        margin: 0;
    }
    .tag_list h5 a
    {
        color: #47381C;
    }
    .classify
    {
        margin: 10px 0;
        padding: 4px 12px 8px;
    }
    .classify a
    {
        margin-right: 20px;
        white-space: nowrap;
    }
</style>




<div class="tag_list" style="">


    <h5>
        <a href="http://www.csdn.net/tag/" target="_blank">核心技术类目</a></h5>
    <div class="classify">
<a title="全部主题" href="http://www.csdn.net/tag" target="_blank" οnclick="LogClickCount(this,336);">全部主题</a>
<a title="Hadoop" href="http://g.csdn.net/5272865" target="_blank" οnclick="LogClickCount(this,336);">Hadoop</a>
<a title="AWS" href="http://g.csdn.net/5272866" target="_blank" οnclick="LogClickCount(this,336);">AWS</a>
<a title="移动游戏" href="http://g.csdn.net/5272870" target="_blank" οnclick="LogClickCount(this,336);">移动游戏</a>
<a title="Java" href="http://g.csdn.net/5272871" target="_blank" οnclick="LogClickCount(this,336);">Java</a>
<a title="Android" href="http://g.csdn.net/5272872" target="_blank" οnclick="LogClickCount(this,336);">Android</a>
<a title="iOS" href="http://g.csdn.net/5272873" target="_blank" οnclick="LogClickCount(this,336);">iOS</a>
<a title="Swift" href="http://g.csdn.net/5272868" target="_blank" οnclick="LogClickCount(this,336);">Swift</a>
<a title="智能硬件" href="http://g.csdn.net/5272869" target="_blank" οnclick="LogClickCount(this,336);">智能硬件</a>
<a title="Docker" href="http://g.csdn.net/5272867" target="_blank" οnclick="LogClickCount(this,336);">Docker</a>
<a title="OpenStack" href="http://g.csdn.net/5272925" target="_blank" οnclick="LogClickCount(this,336);">OpenStack</a>
<a title="VPN" href="http://www.csdn.net/tag/vpn" target="_blank" οnclick="LogClickCount(this,336);">VPN</a>
<a title="Spark" href="http://g.csdn.net/5272924" target="_blank" οnclick="LogClickCount(this,336);">Spark</a>
<a title="ERP" href="http://www.csdn.net/tag/erp" target="_blank" οnclick="LogClickCount(this,336);">ERP</a>
<a title="IE10" href="http://www.csdn.net/tag/ie10" target="_blank" οnclick="LogClickCount(this,336);">IE10</a>
<a title="Eclipse" href="http://www.csdn.net/tag/eclipse" target="_blank" οnclick="LogClickCount(this,336);">Eclipse</a>
<a title="CRM" href="http://www.csdn.net/tag/crm" target="_blank" οnclick="LogClickCount(this,336);">CRM</a>
<a title="JavaScript" href="http://www.csdn.net/tag/javascript" target="_blank" οnclick="LogClickCount(this,336);">JavaScript</a>
<a title="数据库" href="http://www.csdn.net/tag/数据库" target="_blank" οnclick="LogClickCount(this,336);">数据库</a>
<a title="Ubuntu" href="http://www.csdn.net/tag/ubuntu" target="_blank" οnclick="LogClickCount(this,336);">Ubuntu</a>
<a title="NFC" href="http://www.csdn.net/tag/nfc" target="_blank" οnclick="LogClickCount(this,336);">NFC</a>
<a title="WAP" href="http://www.csdn.net/tag/wap" target="_blank" οnclick="LogClickCount(this,336);">WAP</a>
<a title="jQuery" href="http://www.csdn.net/tag/jquery" target="_blank" οnclick="LogClickCount(this,336);">jQuery</a>
<a title="BI" href="http://www.csdn.net/tag/bi" target="_blank" οnclick="LogClickCount(this,336);">BI</a>
<a title="HTML5" href="http://www.csdn.net/tag/html5" target="_blank" οnclick="LogClickCount(this,336);">HTML5</a>
<a title="Spring" href="http://www.csdn.net/tag/spring" target="_blank" οnclick="LogClickCount(this,336);">Spring</a>
<a title="Apache" href="http://www.csdn.net/tag/apache" target="_blank" οnclick="LogClickCount(this,336);">Apache</a>
<a title=".NET" href="http://www.csdn.net/tag/.net" target="_blank" οnclick="LogClickCount(this,336);">.NET</a>
<a title="API" href="http://www.csdn.net/tag/api" target="_blank" οnclick="LogClickCount(this,336);">API</a>
<a title="HTML" href="http://www.csdn.net/tag/html" target="_blank" οnclick="LogClickCount(this,336);">HTML</a>
<a title="SDK" href="http://www.csdn.net/tag/sdk" target="_blank" οnclick="LogClickCount(this,336);">SDK</a>
<a title="IIS" href="http://www.csdn.net/tag/iis" target="_blank" οnclick="LogClickCount(this,336);">IIS</a>
<a title="Fedora" href="http://www.csdn.net/tag/fedora" target="_blank" οnclick="LogClickCount(this,336);">Fedora</a>
<a title="XML" href="http://www.csdn.net/tag/xml" target="_blank" οnclick="LogClickCount(this,336);">XML</a>
<a title="LBS" href="http://www.csdn.net/tag/lbs" target="_blank" οnclick="LogClickCount(this,336);">LBS</a>
<a title="Unity" href="http://www.csdn.net/tag/unity" target="_blank" οnclick="LogClickCount(this,336);">Unity</a>
<a title="Splashtop" href="http://www.csdn.net/tag/splashtop" target="_blank" οnclick="LogClickCount(this,336);">Splashtop</a>
<a title="UML" href="http://www.csdn.net/tag/uml" target="_blank" οnclick="LogClickCount(this,336);">UML</a>
<a title="components" href="http://www.csdn.net/tag/components" target="_blank" οnclick="LogClickCount(this,336);">components</a>
<a title="Windows Mobile" href="http://www.csdn.net/tag/windowsmobile" target="_blank" οnclick="LogClickCount(this,336);">Windows Mobile</a>
<a title="Rails" href="http://www.csdn.net/tag/rails" target="_blank" οnclick="LogClickCount(this,336);">Rails</a>
<a title="QEMU" href="http://www.csdn.net/tag/qemu" target="_blank" οnclick="LogClickCount(this,336);">QEMU</a>
<a title="KDE" href="http://www.csdn.net/tag/kde" target="_blank" οnclick="LogClickCount(this,336);">KDE</a>
<a title="Cassandra" href="http://www.csdn.net/tag/cassandra" target="_blank" οnclick="LogClickCount(this,336);">Cassandra</a>
<a title="CloudStack" href="http://www.csdn.net/tag/cloudstack" target="_blank" οnclick="LogClickCount(this,336);">CloudStack</a>
<a title="FTC" href="http://www.csdn.net/tag/ftc" target="_blank" οnclick="LogClickCount(this,336);">FTC</a>
<a title="coremail" href="http://www.csdn.net/tag/coremail" target="_blank" οnclick="LogClickCount(this,336);">coremail</a>
<a title="OPhone " href="http://www.csdn.net/tag/ophone " target="_blank" οnclick="LogClickCount(this,336);">OPhone </a>
<a title="CouchBase" href="http://www.csdn.net/tag/couchbase" target="_blank" οnclick="LogClickCount(this,336);">CouchBase</a>
<a title="云计算" href="http://www.csdn.net/tag/云计算" target="_blank" οnclick="LogClickCount(this,336);">云计算</a>
<a title="iOS6" href="http://www.csdn.net/tag/iOS6" target="_blank" οnclick="LogClickCount(this,336);">iOS6</a>
<a title="Rackspace " href="http://www.csdn.net/tag/rackspace " target="_blank" οnclick="LogClickCount(this,336);">Rackspace </a>
<a title="Web App" href="http://www.csdn.net/tag/webapp" target="_blank" οnclick="LogClickCount(this,336);">Web App</a>
<a title="SpringSide" href="http://www.csdn.net/tag/springside" target="_blank" οnclick="LogClickCount(this,336);">SpringSide</a>
<a title="Maemo" href="http://www.csdn.net/tag/maemo" target="_blank" οnclick="LogClickCount(this,336);">Maemo</a>
<a title="Compuware" href="http://www.csdn.net/tag/compuware" target="_blank" οnclick="LogClickCount(this,336);">Compuware</a>
<a title="大数据" href="http://www.csdn.net/tag/大数据" target="_blank" οnclick="LogClickCount(this,336);">大数据</a>
<a title="aptech" href="http://www.csdn.net/tag/aptech" target="_blank" οnclick="LogClickCount(this,336);">aptech</a>
<a title="Perl" href="http://www.csdn.net/tag/perl" target="_blank" οnclick="LogClickCount(this,336);">Perl</a>
<a title="Tornado" href="http://www.csdn.net/tag/tornado" target="_blank" οnclick="LogClickCount(this,336);">Tornado</a>
<a title="Ruby" href="http://www.csdn.net/tag/ruby" target="_blank" οnclick="LogClickCount(this,336);">Ruby</a>
<a title="Hibernate" href="http://www.csdn.net/tag/hibernate" target="_blank" οnclick="LogClickCount(this,336);">Hibernate</a>
<a title="ThinkPHP" href="http://www.csdn.net/tag/thinkphp" target="_blank" οnclick="LogClickCount(this,336);">ThinkPHP</a>
<a title="HBase" href="http://www.csdn.net/tag/hbase" target="_blank" οnclick="LogClickCount(this,336);">HBase</a>
<a title="Pure" href="http://www.csdn.net/tag/pure" target="_blank" οnclick="LogClickCount(this,336);">Pure</a>
<a title="Solr" href="http://www.csdn.net/tag/solr" target="_blank" οnclick="LogClickCount(this,336);">Solr</a>
<a title="Angular" href="http://www.csdn.net/tag/angular" target="_blank" οnclick="LogClickCount(this,336);">Angular</a>
<a title="Cloud Foundry" href="http://www.csdn.net/tag/cloudfoundry" target="_blank" οnclick="LogClickCount(this,336);">Cloud Foundry</a>
<a title="Redis" href="http://www.csdn.net/tag/redis" target="_blank" οnclick="LogClickCount(this,336);">Redis</a>
<a title="Scala" href="http://www.csdn.net/tag/scala" target="_blank" οnclick="LogClickCount(this,336);">Scala</a>
<a title="Django" href="http://www.csdn.net/tag/django" target="_blank" οnclick="LogClickCount(this,336);">Django</a>
<a title="Bootstrap" href="http://www.csdn.net/tag/bootstrap" target="_blank" οnclick="LogClickCount(this,336);">Bootstrap</a>
    </div>


</div>
  <script language="javascript" type="text/javascript">     
      $(function(){
              setTimeout(function(){
                  $.get("/callinglove/svc/GetTagContent",function(data){
                      $(".tag_list").html(data).show();
                  });     
              });
          },500);                       
 </script> 




<div id="pop_win" style="display:none ;position: absolute; z-index: 10000; border: 1px solid rgb(220, 220, 220); top: 222.5px; left: 630px; opacity: 1; background: none 0px 0px repeat scroll rgb(255, 255, 255);">
    
</div>
<div id="popup_mask"></div>
<style>
    #popup_mask
    {
        position: absolute;
        width: 100%;
        height: 100%;
        background: #000;
        z-index: 9999;
        left: 0px;
        top: 0px;
        opacity: 0.3;
        filter: alpha(opacity=30);
        display: none;
    }


</style>








<script type="text/javascript">
    $(function(){
        setTimeout(function(){
            $(".comment_body:contains('回复')").each(function(index,item){
                var u=$(this).text().split(':')[0].toString().replace("回复","")
                var thisComment=$(this);
                if(u)
                {
                    $.getJSON("https://passport.csdn.net/get/nick?callback=?", {users: u}, function(a) {
                        if(a!=null&&a.data!=null&&a.data.length>0)
                        {
                            nick=a.data[0].n; 
                            if(u!=nick)
                            {
                                thisComment.text(thisComment.text().replace(u,nick));  
                            }
                        }       
                    });  
                }
            });         


        },200);  


        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },5000);


        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },10000);


        setTimeout(function(){
            $(".math").each(function(index,value){$(this).find("span").last().css("color","#fff"); })
        },15000);
        
        setTimeout(function(){
            $("a img[src='http://js.tongji.linezing.com/stats.gif']").parent().css({"position":"absolute","left":"50%"});
        },300);
    });


    function loginbox(){
        var $logpop=$("#pop_win");
        $logpop.html('<iframe src="https://passport.csdn.net/account/loginbox?service=http://static.blog.csdn.net/callback.htm" frameborder="0" height="600" width="400" scrolling="no"></iframe>');


        $('#popup_mask').css({
            opacity: 0.5,
            width: $( document ).width() + 'px',
            height:  $( document ).height() + 'px'
        });
        $('#popup_mask').css("display","block");
 
        $logpop.css( {
            top: ($( window ).height() - $logpop.height())/ 2  + $( window 
       ).scrollTop() + 'px',
            left:($( window ).width() - $logpop.width())/ 2
        } );
 
        setTimeout( function () {
            $logpop.show();
            $logpop.css( {
                opacity: 1
            } );
        }, 200 );
 
        $('#popup_mask').unbind("click");
        $('#popup_mask').bind("click", function(){
            $('#popup_mask').hide();
            var $clopop = $("#pop_win");
            $("#common_ask_div_sc").css("display","none");
            $clopop.css( {
                opacity: 0
            } );
            setTimeout( function () {
                $clopop.hide();
            }, 350 );
            return false;
        });
    }   


</script>
 <script language="javascript" type="text/javascript" src="http://ads.csdn.net/js/async_new.js"></script>      








                        <div class="clear">
                        </div>
                    </div>                   
                
            </div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值