出处:http://blog.csdn.net/klarclm/article/details/7932558
我的vim IDE界面:
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" This line should not be removed as it ensures that various options are</span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> properly </span><span class="kwd" style="color: rgb(0, 0, 136);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> to work </span><span class="kwd" style="color: rgb(0, 0, 136);">with</span><span class="pln" style="color: rgb(0, 0, 0);"> the </span><span class="typ" style="color: rgb(102, 0, 102);">Vim</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">related packages available </span><span class="kwd" style="color: rgb(0, 0, 136);">in</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">Debian</span><span class="pun" style="color: rgb(102, 102, 0);">.</span> <span class="pln" style="color: rgb(0, 0, 0);"> debian</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">vim</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" Uncomment the next line to make Vim more Vi-compatible</span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> NOTE</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);"> debian</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);">vim sets </span><span class="str" style="color: rgb(0, 136, 0);">'nocompatible'</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">Setting</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">'compatible'</span><span class="pln" style="color: rgb(0, 0, 0);"> changes numerous</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" options, so any other options should be set AFTER setting 'compatible'.</span> <span class="str" style="color: rgb(0, 136, 0);"> set nocompatible</span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">Vim5</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">and</span><span class="pln" style="color: rgb(0, 0, 0);"> later versions support syntax highlighting</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">Uncommenting</span><span class="pln" style="color: rgb(0, 0, 0);"> the</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" following enables syntax highlighting by default.</span> <span class="str" style="color: rgb(0, 136, 0);"> if has("</span><span class="pln" style="color: rgb(0, 0, 0);">syntax</span><span class="str" style="color: rgb(0, 136, 0);">")</span> <span class="str" style="color: rgb(0, 136, 0);"> syntax on "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">语法高亮</span> <span class="pln" style="color: rgb(0, 0, 0);"> endif</span> <span class="pln" style="color: rgb(0, 0, 0);"> colorscheme ron </span><span class="str" style="color: rgb(0, 136, 0);">" elflord ron peachpuff default 设置配色方案,vim自带的配色方案保存在/usr/share/vim/vim72/colors目录下</span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> detect file type</span> <span class="pln" style="color: rgb(0, 0, 0);"> filetype on</span> <span class="pln" style="color: rgb(0, 0, 0);"> filetype plugin on</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" If using a dark background within the editing area and syntax highlighting</span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> turn on </span><span class="kwd" style="color: rgb(0, 0, 136);">this</span><span class="pln" style="color: rgb(0, 0, 0);"> option </span><span class="kwd" style="color: rgb(0, 0, 136);">as</span><span class="pln" style="color: rgb(0, 0, 0);"> well</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> background</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln" style="color: rgb(0, 0, 0);">dark</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" Uncomment the following to have Vim jump to the last position when</span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> reopening a file</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">if</span><span class="pln" style="color: rgb(0, 0, 0);"> has</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"autocmd"</span><span class="pun" style="color: rgb(102, 102, 0);">)</span> <span class="pln" style="color: rgb(0, 0, 0);"> au </span><span class="typ" style="color: rgb(102, 0, 102);">BufReadPost</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">*</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">if</span><span class="pln" style="color: rgb(0, 0, 0);"> line</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"'\""</span><span class="pun" style="color: rgb(102, 102, 0);">)</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">&&</span><span class="pln" style="color: rgb(0, 0, 0);"> line</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"'\""</span><span class="pun" style="color: rgb(102, 102, 0);">)</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);"><=</span><span class="pln" style="color: rgb(0, 0, 0);"> line</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"$"</span><span class="pun" style="color: rgb(102, 102, 0);">)</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">|</span><span class="pln" style="color: rgb(0, 0, 0);"> exe </span><span class="str" style="color: rgb(0, 136, 0);">"normal! g'\""</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">|</span><span class="pln" style="color: rgb(0, 0, 0);"> endif</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"have Vim load indentation rules and plugins according to the detected filetype</span> <span class="str" style="color: rgb(0, 136, 0);"> filetype plugin indent on</span> <span class="str" style="color: rgb(0, 136, 0);"> endif</span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="typ" style="color: rgb(102, 0, 102);">The</span><span class="pln" style="color: rgb(0, 0, 0);"> following are commented </span><span class="kwd" style="color: rgb(0, 0, 136);">out</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">as</span><span class="pln" style="color: rgb(0, 0, 0);"> they cause vim to behave a lot</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" differently from regular Vi. They are highly recommended though.</span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="kwd" style="color: rgb(0, 0, 136);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> ignorecase </span><span class="str" style="color: rgb(0, 136, 0);">" 搜索模式里忽略大小写</span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="kwd" style="color: rgb(0, 0, 136);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> smartcase </span><span class="str" style="color: rgb(0, 136, 0);">" 如果搜索模式包含大写字符,不使用 'ignorecase' 选项。只有在输入搜索模式并且打开 'ignorecase' 选项时才会使用。</span> <span class="str" style="color: rgb(0, 136, 0);"> set autowrite "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">自动把内容写回文件:</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">如果文件被修改过,在每个</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="kwd" style="color: rgb(0, 0, 136);">next</span><span class="pun" style="color: rgb(102, 102, 0);">、:</span><span class="pln" style="color: rgb(0, 0, 0);">rewind</span><span class="pun" style="color: rgb(102, 102, 0);">、:</span><span class="kwd" style="color: rgb(0, 0, 136);">last</span><span class="pun" style="color: rgb(102, 102, 0);">、:</span><span class="pln" style="color: rgb(0, 0, 0);">first</span><span class="pun" style="color: rgb(102, 102, 0);">、:</span><span class="pln" style="color: rgb(0, 0, 0);">previous</span><span class="pun" style="color: rgb(102, 102, 0);">、:</span><span class="pln" style="color: rgb(0, 0, 0);">stop</span><span class="pun" style="color: rgb(102, 102, 0);">、:</span><span class="pln" style="color: rgb(0, 0, 0);">suspend</span><span class="pun" style="color: rgb(102, 102, 0);">、:</span><span class="pln" style="color: rgb(0, 0, 0);">tag</span><span class="pun" style="color: rgb(102, 102, 0);">、:!、:</span><span class="pln" style="color: rgb(0, 0, 0);">make</span><span class="pun" style="color: rgb(102, 102, 0);">、</span><span class="pln" style="color: rgb(0, 0, 0);">CTRL</span><span class="pun" style="color: rgb(102, 102, 0);">-]</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">和</span><span class="pln" style="color: rgb(0, 0, 0);"> CTRL</span><span class="pun" style="color: rgb(102, 102, 0);">-^命令时进行;用</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">buffer</span><span class="pun" style="color: rgb(102, 102, 0);">、</span><span class="pln" style="color: rgb(0, 0, 0);">CTRL</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">O</span><span class="pun" style="color: rgb(102, 102, 0);">、</span><span class="pln" style="color: rgb(0, 0, 0);">CTRL</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">I</span><span class="pun" style="color: rgb(102, 102, 0);">、</span><span class="str" style="color: rgb(0, 136, 0);">'{A-Z0-9} 或 `{A-Z0-9} 命令转到别的文件时亦然。</span> <span class="str" style="color: rgb(0, 136, 0);"> set autoindent " 设置自动对齐(缩进):即每行的缩进值与上一行相等;使用 noautoindent 取消设置</span> <span class="str" style="color: rgb(0, 136, 0);"> "set smartindent " 智能对齐方式</span> <span class="str" style="color: rgb(0, 136, 0);"> set tabstop=4 " 设置制表符(tab键)的宽度</span> <span class="str" style="color: rgb(0, 136, 0);"> set softtabstop=4 " 设置软制表符的宽度 </span> <span class="str" style="color: rgb(0, 136, 0);"> set shiftwidth=4 " (自动) 缩进使用的4个空格</span> <span class="str" style="color: rgb(0, 136, 0);"> set cindent " 使用 C/C++ 语言的自动缩进方式</span> <span class="str" style="color: rgb(0, 136, 0);"> set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s "设置C/C++语言的具体缩进方式</span> <span class="str" style="color: rgb(0, 136, 0);"> "set backspace=2 " 设置退格键可用</span> <span class="str" style="color: rgb(0, 136, 0);"> set showmatch " 设置匹配模式,显示匹配的括号</span> <span class="str" style="color: rgb(0, 136, 0);"> set linebreak " 整词换行</span> <span class="str" style="color: rgb(0, 136, 0);"> set whichwrap=b,s,<,>,[,] " 光标从行首和行末时可以跳到另一行去</span> <span class="str" style="color: rgb(0, 136, 0);"> "set hidden " Hide buffers when they are abandoned</span> <span class="str" style="color: rgb(0, 136, 0);"> set mouse=a " Enable mouse usage (all modes) "使用鼠标</span> <span class="str" style="color: rgb(0, 136, 0);"> set number " Enable line number "显示行号</span> <span class="str" style="color: rgb(0, 136, 0);"> "set previewwindow " 标识预览窗口</span> <span class="str" style="color: rgb(0, 136, 0);"> set history=50 " set command history to 50 "历史记录50条</span> <span class="str" style="color: rgb(0, 136, 0);"> "--状态行设置--</span> <span class="str" style="color: rgb(0, 136, 0);"> set laststatus=2 " 总显示最后一个窗口的状态行;设为1则窗口数多于一个的时候显示最后一个窗口的状态行;0不显示最后一个窗口的状态行</span> <span class="str" style="color: rgb(0, 136, 0);"> set ruler " 标尺,用于显示光标位置的行号和列号,逗号分隔。每个窗口都有自己的标尺。如果窗口有状态行,标尺在那里显示。否则,它显示在屏幕的最后一行上。</span> <span class="str" style="color: rgb(0, 136, 0);"> "--命令行设置--</span> <span class="str" style="color: rgb(0, 136, 0);"> set showcmd " 命令行显示输入的命令</span> <span class="str" style="color: rgb(0, 136, 0);"> set showmode " 命令行显示vim当前模式</span> <span class="str" style="color: rgb(0, 136, 0);"> "--find setting--</span> <span class="str" style="color: rgb(0, 136, 0);"> set incsearch " 输入字符串就显示匹配点</span> <span class="str" style="color: rgb(0, 136, 0);"> set hlsearch </span> </p>注:配置文件中,以单个双引号开头的文字为注释。
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"--ctags setting--</span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">按下</span><span class="pln" style="color: rgb(0, 0, 0);">F5</span><span class="pun" style="color: rgb(102, 102, 0);">重新生成</span><span class="pln" style="color: rgb(0, 0, 0);">tag</span><span class="pun" style="color: rgb(102, 102, 0);">文件,并更新</span><span class="pln" style="color: rgb(0, 0, 0);">taglist</span> <span class="pln" style="color: rgb(0, 0, 0);"> map </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">F5</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:!</span><span class="pln" style="color: rgb(0, 0, 0);">ctags </span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">R </span><span class="pun" style="color: rgb(102, 102, 0);">--</span><span class="pln" style="color: rgb(0, 0, 0);">c</span><span class="pun" style="color: rgb(102, 102, 0);">++-</span><span class="pln" style="color: rgb(0, 0, 0);">kinds</span><span class="pun" style="color: rgb(102, 102, 0);">=+</span><span class="pln" style="color: rgb(0, 0, 0);">p </span><span class="pun" style="color: rgb(102, 102, 0);">--</span><span class="pln" style="color: rgb(0, 0, 0);">fields</span><span class="pun" style="color: rgb(102, 102, 0);">=+</span><span class="pln" style="color: rgb(0, 0, 0);">iaS </span><span class="pun" style="color: rgb(102, 102, 0);">--</span><span class="pln" style="color: rgb(0, 0, 0);">extra</span><span class="pun" style="color: rgb(102, 102, 0);">=+</span><span class="pln" style="color: rgb(0, 0, 0);">q </span><span class="pun" style="color: rgb(102, 102, 0);">.<</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="typ" style="color: rgb(102, 0, 102);">TlistUpdate</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> imap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">F5</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">ESC</span><span class="pun" style="color: rgb(102, 102, 0);">>:!</span><span class="pln" style="color: rgb(0, 0, 0);">ctags </span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">R </span><span class="pun" style="color: rgb(102, 102, 0);">--</span><span class="pln" style="color: rgb(0, 0, 0);">c</span><span class="pun" style="color: rgb(102, 102, 0);">++-</span><span class="pln" style="color: rgb(0, 0, 0);">kinds</span><span class="pun" style="color: rgb(102, 102, 0);">=+</span><span class="pln" style="color: rgb(0, 0, 0);">p </span><span class="pun" style="color: rgb(102, 102, 0);">--</span><span class="pln" style="color: rgb(0, 0, 0);">fields</span><span class="pun" style="color: rgb(102, 102, 0);">=+</span><span class="pln" style="color: rgb(0, 0, 0);">iaS </span><span class="pun" style="color: rgb(102, 102, 0);">--</span><span class="pln" style="color: rgb(0, 0, 0);">extra</span><span class="pun" style="color: rgb(102, 102, 0);">=+</span><span class="pln" style="color: rgb(0, 0, 0);">q </span><span class="pun" style="color: rgb(102, 102, 0);">.<</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="typ" style="color: rgb(102, 0, 102);">TlistUpdate</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> tags</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln" style="color: rgb(0, 0, 0);">tags</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> tags</span><span class="pun" style="color: rgb(102, 102, 0);">+=./</span><span class="pln" style="color: rgb(0, 0, 0);">tags </span><span class="str" style="color: rgb(0, 136, 0);">"add current directory's generated tags file</span> <span class="str" style="color: rgb(0, 136, 0);"> set tags+=~/arm/linux-2.6.24.7/tags "</span><span class="pln" style="color: rgb(0, 0, 0);">add </span><span class="kwd" style="color: rgb(0, 0, 136);">new</span><span class="pln" style="color: rgb(0, 0, 0);"> tags file</span><span class="pun" style="color: rgb(102, 102, 0);">(刚刚生成</span><span class="pln" style="color: rgb(0, 0, 0);">tags</span><span class="pun" style="color: rgb(102, 102, 0);">的路径,在</span><span class="pln" style="color: rgb(0, 0, 0);">ctags </span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">R </span><span class="pun" style="color: rgb(102, 102, 0);">生成</span><span class="pln" style="color: rgb(0, 0, 0);">tags</span><span class="pun" style="color: rgb(102, 102, 0);">文件后,不要将</span><span class="pln" style="color: rgb(0, 0, 0);">tags</span><span class="pun" style="color: rgb(102, 102, 0);">移动到别的目录,否则</span><span class="pln" style="color: rgb(0, 0, 0);">ctrl</span><span class="pun" style="color: rgb(102, 102, 0);">+]时,会提示找不到源码文件)</span> </p>set tags+=./tags表示在当前工作目录下搜索tags文件
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">int</span><span class="pln" style="color: rgb(0, 0, 0);"> main</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="kwd" style="color: rgb(0, 0, 136);">void</span><span class="pun" style="color: rgb(102, 102, 0);">)</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">{</span> <span class="pln" style="color: rgb(0, 0, 0);"> printf</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"Hello World!\n"</span><span class="pun" style="color: rgb(102, 102, 0);">);</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">return</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="lit" style="color: rgb(0, 102, 102);">0</span><span class="pun" style="color: rgb(102, 102, 0);">;</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">}</span> </p>写好后末行模式输入w保存好(不要退出vi),按Esc回到指令模式,把光标停留在printf上
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"-- omnicppcomplete setting --</span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">按下</span><span class="pln" style="color: rgb(0, 0, 0);">F3</span><span class="pun" style="color: rgb(102, 102, 0);">自动补全代码,注意该映射语句后不能有其他字符,包括</span><span class="pln" style="color: rgb(0, 0, 0);">tab</span><span class="pun" style="color: rgb(102, 102, 0);">;否则按下</span><span class="pln" style="color: rgb(0, 0, 0);">F3</span><span class="pun" style="color: rgb(102, 102, 0);">会自动补全一些乱码</span> <span class="pln" style="color: rgb(0, 0, 0);"> imap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">F3</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">X</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">O</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" 按下F2根据头文件内关键字补全</span> <span class="str" style="color: rgb(0, 136, 0);"> imap <F2> <C-X><C-I></span> <span class="str" style="color: rgb(0, 136, 0);"> set completeopt=menu,menuone "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">关掉智能补全时的预览窗口</span> <span class="pln" style="color: rgb(0, 0, 0);"> let </span><span class="typ" style="color: rgb(102, 0, 102);">OmniCpp_MayCompleteDot</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" autocomplete with .</span> <span class="str" style="color: rgb(0, 136, 0);"> let OmniCpp_MayCompleteArrow = 1 "</span><span class="pln" style="color: rgb(0, 0, 0);"> autocomplete </span><span class="kwd" style="color: rgb(0, 0, 136);">with</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">-></span> <span class="pln" style="color: rgb(0, 0, 0);"> let </span><span class="typ" style="color: rgb(102, 0, 102);">OmniCpp_MayCompleteScope</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" autocomplete with ::</span> <span class="str" style="color: rgb(0, 136, 0);"> let OmniCpp_SelectFirstItem = 2 "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">select</span><span class="pln" style="color: rgb(0, 0, 0);"> first item </span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="pln" style="color: rgb(0, 0, 0);">but don</span><span class="str" style="color: rgb(0, 136, 0);">'t insert)</span> <span class="str" style="color: rgb(0, 136, 0);"> let OmniCpp_NamespaceSearch = 2 " search namespaces in this and included files</span> <span class="str" style="color: rgb(0, 136, 0);"> let OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype in popup window</span> <span class="str" style="color: rgb(0, 136, 0);"> let OmniCpp_GlobalScopeSearch=1 " enable the global scope search</span> <span class="str" style="color: rgb(0, 136, 0);"> let OmniCpp_DisplayMode=1 " Class scope completion mode: always show all members</span> <span class="str" style="color: rgb(0, 136, 0);"> "let OmniCpp_DefaultNamespaces=["std"]</span> <span class="str" style="color: rgb(0, 136, 0);"> let OmniCpp_ShowScopeInAbbr=1 " show scope in abbreviation and remove the last column</span> <span class="str" style="color: rgb(0, 136, 0);"> let OmniCpp_ShowAccess=1 </span> </p>(前几行就是提供了C++中的./->/::等操作符的提示和自动完成)。
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span class="kwd" style="color: rgb(0, 0, 136);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> tags</span><span class="pun" style="color: rgb(102, 102, 0);">+=</span><span class="str" style="color: rgb(0, 136, 0);">/usr/</span><span class="pln" style="color: rgb(0, 0, 0);">include</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">c</span><span class="pun" style="color: rgb(102, 102, 0);">++/</span><span class="pln" style="color: rgb(0, 0, 0);">tags</span></p># 用vi打开前面的Test.c文件,在printf("Hello World!\n")下一行中,输入pri,然后按下Ctrl+X Ctrl+O,此时vi会弹出一个窗口,所有以pri开头的tag都会出现在这个窗口中,printf就出现在第6行中
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"-- Taglist setting --</span> <span class="str" style="color: rgb(0, 136, 0);"> let Tlist_Ctags_Cmd='ctags' "</span><span class="pun" style="color: rgb(102, 102, 0);">因为我们放在环境变量里,所以可以直接执行</span> <span class="pln" style="color: rgb(0, 0, 0);"> let </span><span class="typ" style="color: rgb(102, 0, 102);">Tlist_Use_Right_Window</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"让窗口显示在右边,0的话就是显示在左边</span> <span class="str" style="color: rgb(0, 136, 0);"> let Tlist_Show_One_File=0 "</span><span class="pun" style="color: rgb(102, 102, 0);">让</span><span class="pln" style="color: rgb(0, 0, 0);">taglist</span><span class="pun" style="color: rgb(102, 102, 0);">可以同时展示多个文件的函数列表</span> <span class="pln" style="color: rgb(0, 0, 0);"> let </span><span class="typ" style="color: rgb(102, 0, 102);">Tlist_File_Fold_Auto_Close</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"非当前文件,函数列表折叠隐藏</span> <span class="str" style="color: rgb(0, 136, 0);"> let Tlist_Exit_OnlyWindow=1 "</span><span class="pun" style="color: rgb(102, 102, 0);">当</span><span class="pln" style="color: rgb(0, 0, 0);">taglist</span><span class="pun" style="color: rgb(102, 102, 0);">是最后一个分割窗口时,自动推出</span><span class="pln" style="color: rgb(0, 0, 0);">vim</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"是否一直处理tags.1:处理;0:不处理</span> <span class="str" style="color: rgb(0, 136, 0);"> let Tlist_Process_File_Always=1 "</span><span class="pun" style="color: rgb(102, 102, 0);">实时更新</span><span class="pln" style="color: rgb(0, 0, 0);">tags</span> <span class="pln" style="color: rgb(0, 0, 0);"> let </span><span class="typ" style="color: rgb(102, 0, 102);">Tlist_Inc_Winwidth</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="lit" style="color: rgb(0, 102, 102);">0</span> </p>进入vim后用命令":Tlist"打开/关闭taglist窗口
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"-- WinManager setting --</span> <span class="str" style="color: rgb(0, 136, 0);"> let g:winManagerWindowLayout='FileExplorer|TagList' "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">设置我们要管理的插件</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"let g:persistentBehaviour=0 "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">如果所有编辑文件都关闭了,退出</span><span class="pln" style="color: rgb(0, 0, 0);">vim</span> <span class="pln" style="color: rgb(0, 0, 0);"> nmap wm </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="typ" style="color: rgb(102, 0, 102);">WMToggle</span><span class="str" style="color: rgb(0, 136, 0);"><cr></span><span class="pln" style="color: rgb(0, 0, 0);"> </span> </p>常用命令
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" -- MiniBufferExplorer --</span> <span class="str" style="color: rgb(0, 136, 0);"> let g:miniBufExplMapWindowNavVim = 1 "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">按下</span><span class="typ" style="color: rgb(102, 0, 102);">Ctrl</span><span class="pun" style="color: rgb(102, 102, 0);">+</span><span class="pln" style="color: rgb(0, 0, 0);">h</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">j</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">k</span><span class="pun" style="color: rgb(102, 102, 0);">/</span><span class="pln" style="color: rgb(0, 0, 0);">l</span><span class="pun" style="color: rgb(102, 102, 0);">,可以切换到当前窗口的上下左右窗口</span> <span class="pln" style="color: rgb(0, 0, 0);"> let g</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">miniBufExplMapWindowNavArrows </span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" 按下Ctrl+箭头,可以切换到当前窗口的上下左右窗口</span> <span class="str" style="color: rgb(0, 136, 0);"> let g:miniBufExplMapCTabSwitchBufs = 1 "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">启用以下两个功能:</span><span class="typ" style="color: rgb(102, 0, 102);">Ctrl</span><span class="pun" style="color: rgb(102, 102, 0);">+</span><span class="pln" style="color: rgb(0, 0, 0);">tab</span><span class="pun" style="color: rgb(102, 102, 0);">移到下一个</span><span class="pln" style="color: rgb(0, 0, 0);">buffer</span><span class="pun" style="color: rgb(102, 102, 0);">并在当前窗口打开;</span><span class="typ" style="color: rgb(102, 0, 102);">Ctrl</span><span class="pun" style="color: rgb(102, 102, 0);">+</span><span class="typ" style="color: rgb(102, 0, 102);">Shift</span><span class="pun" style="color: rgb(102, 102, 0);">+</span><span class="pln" style="color: rgb(0, 0, 0);">tab</span><span class="pun" style="color: rgb(102, 102, 0);">移到上一个</span><span class="pln" style="color: rgb(0, 0, 0);">buffer</span><span class="pun" style="color: rgb(102, 102, 0);">并在当前窗口打开;</span><span class="pln" style="color: rgb(0, 0, 0);">ubuntu</span><span class="pun" style="color: rgb(102, 102, 0);">好像不支持</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"let g:miniBufExplMapCTabSwitchWindows = 1 "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">启用以下两个功能:</span><span class="typ" style="color: rgb(102, 0, 102);">Ctrl</span><span class="pun" style="color: rgb(102, 102, 0);">+</span><span class="pln" style="color: rgb(0, 0, 0);">tab</span><span class="pun" style="color: rgb(102, 102, 0);">移到下一个窗口;</span><span class="typ" style="color: rgb(102, 0, 102);">Ctrl</span><span class="pun" style="color: rgb(102, 102, 0);">+</span><span class="typ" style="color: rgb(102, 0, 102);">Shift</span><span class="pun" style="color: rgb(102, 102, 0);">+</span><span class="pln" style="color: rgb(0, 0, 0);">tab</span><span class="pun" style="color: rgb(102, 102, 0);">移到上一个窗口;</span><span class="pln" style="color: rgb(0, 0, 0);">ubuntu</span><span class="pun" style="color: rgb(102, 102, 0);">好像不支持</span> <span class="pln" style="color: rgb(0, 0, 0);"> let g</span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">miniBufExplModSelTarget </span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" 不要在不可编辑内容的窗口(如TagList窗口)中打开选中的buffer</span> </p>常用命令
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"--fold setting--</span> <span class="str" style="color: rgb(0, 136, 0);"> set foldmethod=syntax "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">用语法高亮来定义折叠</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> foldlevel</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="lit" style="color: rgb(0, 102, 102);">100</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" 启动vim时不要自动折叠代码</span> <span class="str" style="color: rgb(0, 136, 0);"> set foldcolumn=5 "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">设置折叠栏宽度</span> </p>常用命令
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"-- QuickFix setting --</span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">按下</span><span class="pln" style="color: rgb(0, 0, 0);">F6</span><span class="pun" style="color: rgb(102, 102, 0);">,执行</span><span class="pln" style="color: rgb(0, 0, 0);">make clean</span> <span class="pln" style="color: rgb(0, 0, 0);"> map </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">F6</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">make clean</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" 按下F7,执行make编译程序,并打开quickfix窗口,显示编译信息</span> <span class="str" style="color: rgb(0, 136, 0);"> map <F7> :make<CR><CR><CR> :copen<CR><CR></span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">按下</span><span class="pln" style="color: rgb(0, 0, 0);">F8</span><span class="pun" style="color: rgb(102, 102, 0);">,光标移到上一个错误所在的行</span> <span class="pln" style="color: rgb(0, 0, 0);"> map </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">F8</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">cp</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" 按下F9,光标移到下一个错误所在的行</span> <span class="str" style="color: rgb(0, 136, 0);"> map <F9> :cn<CR></span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">以上的映射是使上面的快捷键在插入模式下也能用</span> <span class="pln" style="color: rgb(0, 0, 0);"> imap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">F6</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">ESC</span><span class="pun" style="color: rgb(102, 102, 0);">>:</span><span class="pln" style="color: rgb(0, 0, 0);">make clean</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> imap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">F7</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">ESC</span><span class="pun" style="color: rgb(102, 102, 0);">>:</span><span class="pln" style="color: rgb(0, 0, 0);">make</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">copen</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> imap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">F8</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">ESC</span><span class="pun" style="color: rgb(102, 102, 0);">>:</span><span class="pln" style="color: rgb(0, 0, 0);">cp</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> imap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">F9</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">ESC</span><span class="pun" style="color: rgb(102, 102, 0);">>:</span><span class="pln" style="color: rgb(0, 0, 0);">cn</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> </p>帮助文档
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">"-- Cscope setting --</span> <span class="str" style="color: rgb(0, 136, 0);"> if has("</span><span class="pln" style="color: rgb(0, 0, 0);">cscope</span><span class="str" style="color: rgb(0, 136, 0);">")</span> <span class="str" style="color: rgb(0, 136, 0);"> set csprg=/usr/bin/cscope "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">指定用来执行</span><span class="pln" style="color: rgb(0, 0, 0);">cscope</span><span class="pun" style="color: rgb(102, 102, 0);">的命令</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> csto</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="lit" style="color: rgb(0, 102, 102);">0</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" 设置cstag命令查找次序:0先找cscope数据库再找标签文件;1先找标签文件再找cscope数据库</span> <span class="str" style="color: rgb(0, 136, 0);"> set cst "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">同时搜索</span><span class="pln" style="color: rgb(0, 0, 0);">cscope</span><span class="pun" style="color: rgb(102, 102, 0);">数据库和标签文件</span> <span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="kwd" style="color: rgb(0, 0, 136);">set</span><span class="pln" style="color: rgb(0, 0, 0);"> cscopequickfix</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln" style="color: rgb(0, 0, 0);">s</span><span class="pun" style="color: rgb(102, 102, 0);">-,</span><span class="pln" style="color: rgb(0, 0, 0);">c</span><span class="pun" style="color: rgb(102, 102, 0);">-,</span><span class="pln" style="color: rgb(0, 0, 0);">d</span><span class="pun" style="color: rgb(102, 102, 0);">-,</span><span class="pln" style="color: rgb(0, 0, 0);">i</span><span class="pun" style="color: rgb(102, 102, 0);">-,</span><span class="pln" style="color: rgb(0, 0, 0);">t</span><span class="pun" style="color: rgb(102, 102, 0);">-,</span><span class="pln" style="color: rgb(0, 0, 0);">e</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" 使用QuickFix窗口来显示cscope查找结果</span> <span class="str" style="color: rgb(0, 136, 0);"> set nocsverb</span> <span class="str" style="color: rgb(0, 136, 0);"> if filereadable("</span><span class="pln" style="color: rgb(0, 0, 0);">cscope</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="kwd" style="color: rgb(0, 0, 136);">out</span><span class="str" style="color: rgb(0, 136, 0);">") "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">若当前目录下存在</span><span class="pln" style="color: rgb(0, 0, 0);">cscope</span><span class="pun" style="color: rgb(102, 102, 0);">数据库,添加该数据库到</span><span class="pln" style="color: rgb(0, 0, 0);">vim</span> <span class="pln" style="color: rgb(0, 0, 0);"> cs add cscope</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="kwd" style="color: rgb(0, 0, 136);">out</span> <span class="pln" style="color: rgb(0, 0, 0);"> elseif $CSCOPE_DB </span><span class="pun" style="color: rgb(102, 102, 0);">!=</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">""</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="str" style="color: rgb(0, 136, 0);">" 否则只要环境变量CSCOPE_DB不为空,则添加其指定的数据库到vim</span> <span class="str" style="color: rgb(0, 136, 0);"> cs add $CSCOPE_DB</span> <span class="str" style="color: rgb(0, 136, 0);"> endif</span> <span class="str" style="color: rgb(0, 136, 0);"> set csverb</span> <span class="str" style="color: rgb(0, 136, 0);"> endif</span> <span class="str" style="color: rgb(0, 136, 0);"> map <F4> :cs add ./cscope.out .<CR><CR><CR> :cs reset<CR></span> <span class="str" style="color: rgb(0, 136, 0);"> imap <F4> <ESC>:cs add ./cscope.out .<CR><CR><CR> :cs reset<CR></span> <span class="str" style="color: rgb(0, 136, 0);"> "</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">将:</span><span class="pln" style="color: rgb(0, 0, 0);">cs find c</span><span class="pun" style="color: rgb(102, 102, 0);">等</span><span class="typ" style="color: rgb(102, 0, 102);">Cscope</span><span class="pun" style="color: rgb(102, 102, 0);">查找命令映射为<</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">_</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);">c</span><span class="pun" style="color: rgb(102, 102, 0);">等快捷键(按法是先按</span><span class="typ" style="color: rgb(102, 0, 102);">Ctrl</span><span class="pun" style="color: rgb(102, 102, 0);">+</span><span class="typ" style="color: rgb(102, 0, 102);">Shift</span><span class="pun" style="color: rgb(102, 102, 0);">+-,</span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">然后很快再按下</span><span class="pln" style="color: rgb(0, 0, 0);">c</span><span class="pun" style="color: rgb(102, 102, 0);">)</span> <span class="pln" style="color: rgb(0, 0, 0);"> nmap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">_</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);">s </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">cs find s </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">R</span><span class="pun" style="color: rgb(102, 102, 0);">>=</span><span class="pln" style="color: rgb(0, 0, 0);">expand</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"<cword>"</span><span class="pun" style="color: rgb(102, 102, 0);">)<</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">copen</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> nmap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">_</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);">g </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">cs find g </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">R</span><span class="pun" style="color: rgb(102, 102, 0);">>=</span><span class="pln" style="color: rgb(0, 0, 0);">expand</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"<cword>"</span><span class="pun" style="color: rgb(102, 102, 0);">)<</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> nmap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">_</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);">d </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">cs find d </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">R</span><span class="pun" style="color: rgb(102, 102, 0);">>=</span><span class="pln" style="color: rgb(0, 0, 0);">expand</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"<cword>"</span><span class="pun" style="color: rgb(102, 102, 0);">)<</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">copen</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> nmap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">_</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);">c </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">cs find c </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">R</span><span class="pun" style="color: rgb(102, 102, 0);">>=</span><span class="pln" style="color: rgb(0, 0, 0);">expand</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"<cword>"</span><span class="pun" style="color: rgb(102, 102, 0);">)<</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">copen</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> nmap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">_</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);">t </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">cs find t </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">R</span><span class="pun" style="color: rgb(102, 102, 0);">>=</span><span class="pln" style="color: rgb(0, 0, 0);">expand</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"<cword>"</span><span class="pun" style="color: rgb(102, 102, 0);">)<</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">copen</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> nmap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">_</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);">e </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">cs find e </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">R</span><span class="pun" style="color: rgb(102, 102, 0);">>=</span><span class="pln" style="color: rgb(0, 0, 0);">expand</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"<cword>"</span><span class="pun" style="color: rgb(102, 102, 0);">)<</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">copen</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> nmap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">_</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);">f </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">cs find f </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">R</span><span class="pun" style="color: rgb(102, 102, 0);">>=</span><span class="pln" style="color: rgb(0, 0, 0);">expand</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"<cfile>"</span><span class="pun" style="color: rgb(102, 102, 0);">)<</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> <span class="pln" style="color: rgb(0, 0, 0);"> nmap </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">_</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);">i </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">cs find i </span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">C</span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln" style="color: rgb(0, 0, 0);">R</span><span class="pun" style="color: rgb(102, 102, 0);">>=</span><span class="pln" style="color: rgb(0, 0, 0);">expand</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="str" style="color: rgb(0, 136, 0);">"<cfile>"</span><span class="pun" style="color: rgb(102, 102, 0);">)<</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span><span class="pln" style="color: rgb(0, 0, 0);"> </span><span class="pun" style="color: rgb(102, 102, 0);">:</span><span class="pln" style="color: rgb(0, 0, 0);">copen</span><span class="pun" style="color: rgb(102, 102, 0);"><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">><</span><span class="pln" style="color: rgb(0, 0, 0);">CR</span><span class="pun" style="color: rgb(102, 102, 0);">></span> </p>cscope的主要功能是通过其"find"子命令来实现的