求教:tagbar.vmb的安装方法(一...

&&&&supertab.vmb
VIM自动补全
supertab.vmb
VIM自动补全
***方法:1.下载后以vim打开本文件;
2.执行:so %,将本文件source 到vim中。
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动***等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:
VIP下载&&免积分60元/年(1200次)
您可能还需要
操作系统下载排行vim的.vim插件以及.vmb插件***方法
vim的.vim插件以及.vmb插件***方法
[摘要:老式的.vim间接放到$HOME/.vim/plugin .vmb插件用vim翻开后,输进敕令:so% 回车后装置乐成]
老式的.vim直接放到$HOME/.vim/plugin
.vmb插件用vim打开后,输入命令:so%
回车后***成功
感谢关注 Ithao123精品文库频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
Swift是Apple在WWDC2014所发布的一门编程语言,用来撰写OS X和iOS应用程序[1]。在设计Swift时.就有意和Objective-C共存,Objective-C是Apple操作系统在导入Swift前使用的编程语言
Swift是供iOS和OS X应用编程的新编程语言,基于C和Objective-C,而却没有C的一些兼容约束。Swift采用了安全的编程模式和添加现代的功能来使得编程更加简单、灵活和有趣。界面则基于广受人民群众爱戴的Cocoa和Cocoa Touch框架,展示了软件开发的新方向。
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
IThao123周刊VIM常用配置及插件整理
VIM的配置文件.vimrc如下
"Filename:& ~/.vimrc
"Author:&&&
"Email:&&&&
"=======================================================================
"& VIM配置
"=======================================================================
"在用户主目录下建立.vimrc文件,复制本文内容到.vimrc中
"&& ~/.vim
~/.vim/doc&&&&&
帮助文件的目录
~/.vim/plugin&& 插件的目录
~/.vim/syntax&& 语法目录
"========================================================================
"& 常规设置
"========================================================================
"------------------------------------------------------------------------
自动识别文件类型;用文件类型plugin脚本;使用缩进定义文件&&
"------------------------------------------------------------------------
filetype plugin
has("autocmd")&&&&&
BufReadPost * if line("'"") & 1
&& line("'"") &=
line("$") | exe "normal! g'"" |
endif&&&&&
&&& "have Vim
load indentation rules and plugins according to the detected
filetype&&&&&
&&& filetype
plugin indent on
&&& filetype
indent on&&
"------------------------------------------------------------------------
" 自动加载和自动回写
"------------------------------------------------------------------------
" 设置当正在编辑的文件被外部的其它程序所修改后自动在Vim加载
if exists("&autoread")
" 自动把内容写回文件: 如果文件被修改过,在每个
:next、:rewind、:last、:first、:previous、:stop、:suspend、:tag、:!、:make、CTRL-]
和 CTRL-^命令时进行;
" 用 :buffer、CTRL-O、CTRL-I、'{A-Z0-9} 或 `{A-Z0-9} 命令转到别的文件时亦然。
set autowrite
"------------------------------------------------------------------------
" 可以为不同模式分别打开鼠标
"------------------------------------------------------------------------
"&& "n” 普通模式
"&& "v” 可视模式
"&& "i” 插入模式
"&& "c” 命令行模式
"&& "h” 编辑帮助文件时,所有前面的模式
"&& "a” 所有前面的模式
"&& "r” hit-enter 和 more-prompt
if exists("&mouse")
mouse=a&&& "
使用鼠标这样设置后,不能用鼠标右键的”复制"了,解决方法,在复制之前,先按住Shift键
"--------------------------------------------------------------------------
"文件和备份,不需要,所以复位
"--------------------------------------------------------------------------
set nobackup
set nowritebackup
"------------------------------------------------------------------------
"------------------------------------------------------------------------
"set encoding=utf-8
set expandtab&&&
&& " 使用space代替tab.
set shiftwidth=4&& " (自动)
缩进使用的4个空格,用于 "cindent”, "&&”,
set softtabstop=4& " 设置软制表符的宽度
tabstop=4&&&&&
" 设置制表符(tab键)的宽度
set smarttab
autoindent&&&&
" 设置自动对齐(缩进):即每行的缩进值与上一行相等;使用 noautoindent
smartindent&&& "
智能对齐方式
cindent&&&&&&&
" 使用 C/C++
语言的自动缩进方式&&&
cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,&1s,=1s,:1s&&&&
" 设置C/C++语言的具体缩进方式&&
has("syntax")&&&&&
&&& syntax
" 语法高亮&&&
"colorscheme
zellner&&& "
设置配色方案,它会在 'runtimepath' 里搜索"colors/{name}.vim",载入第一个找到的文件
scrolloff=5&&& "
光标上下两侧最少保留的屏幕行数。这使你工作时总有一些可见的上下文。
showmatch&&&&&
" 设置匹配模式,显示匹配的括号
hidden&&&&&&&&
" 没有保存的缓冲区可以自动被隐藏&&
number&&&&&&&&
" 显示行号&&&
"set previewwindow "
标识预览窗口&&
"------------------------------------------------------------------------
"------------------------------------------------------------------------
ignorecase&&& "
搜索模式里忽略大小写&&&
smartcase&&&&
" 如果搜索模式包含大写字符,不使用 'ignorecase' 选项。只有在输入搜索模式并且打开 'ignorecase'
选项时才会使用。
"set backspace=2&& "
设置退格键可用&
linebreak&&&&&
" 整词换行
whichwrap=b,s,&,&,[,]&
光标从行首和行末时可以跳到另一行去&&&&
"命令行设置&
showcmd&&&&&&&&
命令行显示输入的命令&&&
showmode&&&&&&&
命令行显示vim当前模式&&&
"搜索设置&&&
incsearch&&&&&&&
输入字符串就显示匹配点&&&
set hlsearch&
history=50&&&&
" 历史记录50条&
set viminfo='
filetype plugin indent on&& "
加了这句才可以用智能补全
"set tags=~/Vim_tags/tags&
设置tags文件的路径
"括号自动补全
:inoremap ( ()&ESC&i
:inoremap )
&c-r&=ClosePair(')')&CR&
:inoremap {
{&CR&}&ESC&O
:inoremap }
&c-r&=ClosePair('}')&CR&
:inoremap [ []&ESC&i
:inoremap ]
&c-r&=ClosePair(']')&CR&
:inoremap " ""&ESC&i
:inoremap ' ''&ESC&i
function! ClosePair(char)
getline('.')[col('.') - 1] == a:char
return "\&Right&"
return a:char
endfunction
"------------------------------------------------------------------------
"------------------------------------------------------------------------
map &leader&sn ]
map &leader&sp [
map &leader&sa zg
map &leader&s? z=
"--------------------------------------------------------------------------------
"状态栏相关的设置
"--------------------------------------------------------------------------------
statusline=[%F]%y%r%m%*%=[Line:%l/%L,Column:%c][%p%%]&&
" 状态栏的显示格式
set laststatus=2&& "
总显示最后一个窗口的状态行;设为1则窗口数多于一个的时候显示最后一个窗口的状态行;0不显示最后一个窗口的状态行&&&
ruler&&&&&&&&&
标尺,用于显示光标位置的行号和列号,逗号分隔。每个窗口都有自己的标尺。如果窗口有状态行,标尺在那里显示。否则,它显示在屏幕的最后一行上。
"--------------------------------------------------------------------------------
"--------------------------------------------------------------------------------
"set foldmarker={{{,}}}& " 指定折叠标志
"set foldmarker={,}&
&" 指定折叠标志
syntax region functionFold
start="/(^/({/|/S.*{/)$/n/)/@&=/_[^}]"
end="/(^{.*/)/@&!$/n/(^}/)/@=" transparent
syntax region commentFold start="/" transparent fold keepend
syntax region commentFold2
start="^/(^//.*$/n/)/@&!//.*/(/n///)/@=$"
end="^/(^//.*$/n/)/@&=//.*/(/n///)/@!$" transparent
fold keepend
"set foldmethod=marker& " 标志用于指定折叠。
set foldmethod=syntax&& "
语法高亮项目指定折叠。
foldlevel=100&&&&&&
" 不要自动折叠
"set foldopen-=search&& "
不要打开折叠,当搜索进它里面时
foldopen-=undo&&&&
" 不要打开折叠,当做撤销进它里面时
foldcolumn=4&&&&&&
" 如果非零,指定宽度的列在窗口的一侧显示,指示折叠的打开和关闭。最大值为12
"------------------------------------------------------------------------
"C,C++的调试(适用于在Vim中编译调试单个文件)
"------------------------------------------------------------------------
map &F7& :call
Rungdb()&CR&&CR&&CR&
func! Rungdb()
&&& exec "!gcc %
&&& exec "!gdb
"********************************************************************************
插件设置&&&
"scope&&& ctags
omnicppcomplete&&&
Taglist&&&
QuickFix&&&
MiniBufferExplorer&&&&&&&
"NERDTree&&&
WinManager&&&
grep&&& NERD
Commenter&&&
SuperTag&&&
"c-support&&&
"-------------------------------------------------------------------------------
"快捷键设置&&&
自动补全的代码&&&
根据头文件补全代码&&&
gdb(单个文件编译及调试)&&&
更新ctags数据库&&&
"Ctr+F9&&&
切换.c和.***件&&&
"Tag&&& C-X C-O
WinManager&&&
"cscope检索&&&
"Ctrl+Shift+-
然后按s&&&
符号(可以跳过注释)&&&
"Ctrl+Shift+-
然后按g&&&
&查找本定义&&&
"Ctrl+Shift+-
然后按d&&&
&查找本函数调用的函数&&&
"Ctrl+Shift+-
然后按c&&&
&查找调用本函数的函数&&&
"Ctrl+Shift+-
然后按e&&&
&查找本 egrep
"Ctrl+Shift+-
然后按f&&&
查找本文件&&&
"Ctrl+Shift+-
然后按i&&&&&
查找包含本文件的文件&&&
"********************************************************************************
"--&&& ctags
setting&&&
&" 按下F8重新生成tag文件,并更新taglist
&F8& :!ctags -R --c++-kinds=+p
--fields=+iaS --extra=+q
:TlistUpdate&CR&
&ESC&:!ctags -R --c++-kinds=+p
--fields=+iaS --extra=+q
:TlistUpdate&CR&
tags+=./tags "add current directory's generated tags file
tags+=~/Vim_Tags/tags "add new tags file(刚刚生成tags的路径,在ctags -R
生成tags文件后,不要将tags移动到别的目录,否则ctrl+]时,会提示找不到源码文件)
"--&&& scope
setting&&&
"&1&、为源码建立一个cscope数据库
"lingd@ubuntu:~/arm/linux-2.6.28.7$ cscope -Rbq
"lingd@ubuntu:~/arm/linux-2.6.28.7$ ls cscope.*
"cscope.in.out& cscope.out&
cscope.po.out
"&2&、用vim打开某个源码文件,末行模式下,输入“:cs add
/home/../cscope.out
home/...",添加cscope数据库到vim。已将vim配置为启动时,自动添加当前目录下的cscope数据库
"&3&、完成前两步后,现在就可以用“cs find
c”等Cscope查找命令查找关键字了。我们已在.vimrc中将“cs find
c”等Cscope查找命令映射为&C-_&c等快捷键(按法是先按Ctrl+Shift+-,
然后很快按下c)
"-- Cscope setting --
has("cscope")
csprg=/usr/bin/cscope&&&&&&&
" 指定用来执行cscope的命令
csto=0&&&&&&&&&&&&&&&&&&&&&&&
" 设置cstag命令查找次序:0先找cscope数据库再找标签文件;1先找标签文件再找cscope数据库
cst&&&&&&&&&&&&&&&&&&&&&&&&&&&
" 同时搜索cscope数据库和标签文件
cscopequickfix=s-,c-,d-,i-,t-,e-&&&
" 使用QuickFix窗口来显示cscope查找结果
set nocsverb
filereadable("cscope.out")&&&
" 若当前目录下存在cscope数据库,添加该数据库到vim
&&&&&&&&&&&
cs add cscope.out
elseif $CSCOPE_DB !=
""&&&&&&&&&&&
" 否则只要环境变量CSCOPE_DB不为空,则添加其指定的数据库到vim
&&&&&&&&&&&
cs add $CSCOPE_DB
set csverb
&&& " 将:cs find
c等Cscope查找命令映射为&C-_&c等快捷键(按法是先按Ctrl+Shift+-,
然后很快再按下c)
&C-_&s :cs find s
&C-R&=expand("&cword&")&CR&&CR&
:copen&CR&&CR&
&C-_&g :cs find g
&C-R&=expand("&cword&")&CR&&CR&
&C-_&d :cs find d
&C-R&=expand("&cword&")&CR&&CR&
:copen&CR&&CR&
&C-_&c :cs find c
&C-R&=expand("&cword&")&CR&&CR&
:copen&CR&&CR&
&C-_&t :cs find t
&C-R&=expand("&cword&")&CR&&CR&
:copen&CR&&CR&
&C-_&e :cs find e
&C-R&=expand("&cword&")&CR&&CR&
:copen&CR&&CR&
&C-_&f :cs find f
&C-R&=expand("&cfile&")&CR&&CR&
&C-_&i :cs find i
&C-R&=expand("&cfile&")&CR&&CR&
:copen&CR&&CR
"-- omnicppcomplete setting --
按下F2自动补全代码,注意该映射语句后不能有其他字符,包括tab;否则按下F3会自动补全一些乱码
&C-X&&C-O&
按下F3根据头文件内关键字补全
&C-X&&C-I&
completeopt=menu,menuone " 关掉智能补全时的预览窗口
OmniCpp_MayCompleteDot = 1 " autocomplete with .
OmniCpp_MayCompleteArrow = 1 " autocomplete with
OmniCpp_MayCompleteScope = 1 " autocomplete with ::
OmniCpp_SelectFirstItem = 2 " select first item (but don't
OmniCpp_NamespaceSearch = 2 " search namespaces in this and
included files
OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype in popup
OmniCpp_GlobalScopeSearch=1 " enable the global scope search
OmniCpp_DisplayMode=1 " Class scope completion mode: always show
all members
OmniCpp_DefaultNamespaces=["std"]
OmniCpp_ShowScopeInAbbr=1 " show scope in abbreviation and remove
the last column
OmniCpp_ShowAccess=1
"-- Taglist setting --
Tlist_Ctags_Cmd='ctags' "因为我们放在环境变量里,所以可以直接执行
Tlist_Use_Right_Window=0 "让窗口显示在右边,0的话就是显示在左边
Tlist_Show_One_File=0 "让taglist可以同时展示多个文件的函数列表
Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏
Tlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动推出vim
"是否一直处理tags.1:处理;0:不处理
Tlist_Process_File_Always=1 "实时更新tags
Tlist_Inc_Winwidth=0
"-- QuickFix setting --
按下F6,执行make clean
&F6& :make
clean&CR&&CR&&CR&
按下F5,执行make编译程序,并打开quickfix窗口,显示编译信息
:make&CR&&CR&&CR&
:copen&CR&&CR&
以上的映射是使上面的快捷键在插入模式下也能用
&ESC&:make
clean&CR&&CR&&CR&
&ESC&:make&CR&&CR&&CR&
:copen&CR&&CR&
MiniBufferExplorer setting--
g:miniBufExplMapWindowNavVim = 1 "
按下Ctrl+h/j/k/l,可以切换到当前窗口的上下左右窗口
g:miniBufExplMapWindowNavArrows = 1 "
按下Ctrl+箭头,可以切换到当前窗口的上下左右窗口
g:miniBufExplMapCTabSwitchBufs = 1 "
启用以下两个功能:Ctrl+tab移到下一个buffer并在当前窗口打开;Ctrl+Shift+tab移到上一个buffer并在当前窗口打开;ubuntu好像不支持
g:miniBufExplMapCTabSwitchWindows = 1 "
启用以下两个功能:Ctrl+tab移到下一个窗口;Ctrl+Shift+tab移到上一个窗口;ubuntu好像不支持
g:miniBufExplModSelTarget =
不要在不可编辑内容的窗口(如TagList窗口)中打开选中的buffer
&&& "--NERDTree
g:NERDTree_title="[NERDTree]"&
g:winManagerWindowLayout="NERDTree|TagList"&
&&& function!
NERDTree_Start()&
exec 'NERDTree'&
endfunction&
&&& function!
NERDTree_IsValid()&
endfunction&
&"-- WinManager setting --
g:winManagerWindowLayout='FileExplorer|TagList' " 设置我们要管理的插件
g:persistentBehaviour=0 " 如果所有编辑文件都关闭了,退出vim
&&& nmap wm
:WMToggle&cr&
&"-- A setting --
&&& nnoremap
&"-- grep setting --
&&& nnoremap
:Grep&CR&"
&"-- NERD Commenter setting --
& "& ,ca,在可选的注释方式之间切换,比如C/C++
的块注释和行注释//
& "& ,cc,注释当前行
& "& ,c,切换注释/非注释状态
& "& ,cs,以”性感”的方式注释
,cA,在当前行尾添加注释符,并进入Insert模式
& "& ,cu,取消注释
Normal模式下,几乎所有命令前面都可以指定行数
Visual模式下执行命令,会对选中的特定区块进行注释/反注释
mapleader=","&
&"-- SuperTag setting --
g:SuperTabDefaultCompletionType="context"
&"-- c-support setting --
&"解压,有c-support、ftplugin、doc、plugin四个文件,拷贝到$HOME/.vim/目录下。并在.vimrc中用命令filetype
plugin on激活插件功能。
&"功能一:自动为*.c文件添加文件头说明
&"$ vim ~/.vim/c-support/templates/Templates
可改变头说明
&"快捷键帮助信息详见doc的pdf文档
VIM整体界面图
对涉及到的插件信息整理如下
ctags***与配置&&&&&&&
Ctags工具是用来遍历源代码文件生成tags文件,这些tags文件能被编辑器或其它工具用来快速查找定位源代码中的符号(tag/symbol),如变量名,函数名等。比如,tags文件就是Taglist和OmniCppComplete工作的基础。
***步骤跟大多数软件的从源代码***步骤一样。
& 1)从下载源代码包后,解压缩生成源代码目录,
& 2)然后进入源代码根目录执行./configure,
& 3)然后执行make,
& 4)编译成功后执行make install。
Ubuntu中直接sudo
apt-get install ctags就可以了。
在~/.vimrc中的配置如下:
ctags setting&&&
&" 按下F8重新生成tag文件,并更新taglist
&F8& :!ctags -R --c++-kinds=+p
--fields=+iaS --extra=+q
:TlistUpdate&CR&
&ESC&:!ctags -R --c++-kinds=+p
--fields=+iaS --extra=+q
:TlistUpdate&CR&
tags+=./tags "add current directory's generated tags file
tags+=~/Vim_Tags/tags "add new tags file(刚刚生成tags的路径,在ctags -R
生成tags文件后,不要将tags移动到别的目录,否则ctrl+]时,会提示找不到源码文件)
ctags***完成。
使用Ctags的也很简单。&进入我们的项目代码根目录,执行以下命令:ctags&-R,会在源代码目录生成tags文件。配置文件中已经配置了F8快捷键,所以可以进入代码根目录后,打开Vim,按下F8快捷键自动生成tags文件。此时,我们已经具有定义跳转的功能了。有两组快捷键是最常用的。
Ctrl-] & &跳转到光标所在符号的定义。
&& Ctrl-t &
&回到上次跳转前的位置。
& 更多功能通过命令man ctags或在Vim命令行下运行help ctags查询。
查找mutex_lock函数
Taglist***与配置
Taglis提供源代码符号的结构化视图,可以列出当前文件中的所有标签(宏, 全局变量,
函数名等)。
& & ***步骤:
1)从下载***包。
将Taglist***包解压,把解压后的文件夹(doc和plugin)复制到在~/.vim目录,提示重名时选择合并,其他插件***过程类似。
3)进入~/.vim/doc目录,在Vim下运行"helptags
."命令。此步骤是将doc下的帮助文档加入到Vim的帮助主题中,这样我们就可以通过在Vim中运行“help
taglist.txt”查看taglist帮助。
4)在.vimrc文件中进行配置
"-- Taglist setting --
Tlist_Ctags_Cmd='ctags' "因为我们放在环境变量里,所以可以直接执行
Tlist_Use_Right_Window=0 "让窗口显示在右边,0的话就是显示在左边
Tlist_Show_One_File=0 "让taglist可以同时展示多个文件的函数列表
Tlist_File_Fold_Auto_Close=1 "非当前文件,函数列表折叠隐藏
Tlist_Exit_OnlyWindow=1 "当taglist是最后一个分割窗口时,自动退出vim
"是否一直处理tags.1:处理;0:不处理
Tlist_Process_File_Always=1 "实时更新tags
Tlist_Inc_Winwidth=0&
taglist***完成。
在Vim命令行下运行TlistToggle命令就可以打开Taglist窗口,再次运行TlistToggle则关闭。
Cscope***与配置
Cscope是一个类似于ctags的工具,不过其功能比ctags强大很多,提供交互式查询语言符号功能,如查询哪些地方使用某个变量或调用某个函数。
***步骤:ubuntu直接 sudo apt-get install cscope即可。
在.vimrc文件中进行配置:
scope setting&&&
"-- Cscope setting --
has("cscope")
csprg=/usr/bin/cscope&&&&&&&
" 指定用来执行cscope的命令
csto=0&&&&&&&&&&&&&&&&&&&&&&&
" 设置cstag命令查找次序:0先找cscope数据库再找标签文件;1先找标签文件再找cscope数据库
cst&&&&&&&&&&&&&&&&&&&&&&&&&&&
" 同时搜索cscope数据库和标签文件
cscopequickfix=s-,c-,d-,i-,t-,e-&&&
" 使用QuickFix窗口来显示cscope查找结果
set nocsverb
filereadable("cscope.out")&&&
" 若当前目录下存在cscope数据库,添加该数据库到vim
&&&&&&&&&&&
cs add cscope.out
elseif $CSCOPE_DB !=
""&&&&&&&&&&&
" 否则只要环境变量CSCOPE_DB不为空,则添加其指定的数据库到vim
&&&&&&&&&&&
cs add $CSCOPE_DB
set csverb
&&& " 将:cs find
c等Cscope查找命令映射为&C-_&c等快捷键(按法是先按Ctrl+Shift+-,
然后很快再按下c)
&C-_&s :cs find s
&C-R&=expand("&cword&")&CR&&CR&
:copen&CR&&CR&
&C-_&g :cs find g
&C-R&=expand("&cword&")&CR&&CR&
&C-_&d :cs find d
&C-R&=expand("&cword&")&CR&&CR&
:copen&CR&&CR&
&C-_&c :cs find c
&C-R&=expand("&cword&")&CR&&CR&
:copen&CR&&CR&
&C-_&t :cs find t
&C-R&=expand("&cword&")&CR&&CR&
:copen&CR&&CR&
&C-_&e :cs find e
&C-R&=expand("&cword&")&CR&&CR&
:copen&CR&&CR&
&C-_&f :cs find f
&C-R&=expand("&cfile&")&CR&&CR&
&C-_&i :cs find i
&C-R&=expand("&cfile&")&CR&&CR&
:copen&CR&&CR
使用方法:
1)为源码建立一个cscope数据库&&&
@ubuntu:~/arm/linux-2.6.28.7$ cscope -Rbq
@ubuntu:~/arm/linux-2.6.28.7$ ls cscope.*
"cscope.in.out& cscope.out&
cscope.po.out
2) 用vim打开某个源码文件,末行模式下,输入“:cs
add /home/../cscope.out
home/...",添加cscope数据库到vim。已将vim配置为启动时,自动添加当前目录下的cscope数据库
3)完成前两步后,现在就可以用“cs find
c”等Cscope查找命令查找关键字了。我们已在.vimrc中将“cs find
c”等Cscope查找命令映射为&C-_&c等快捷键(按法是先按Ctrl+Shift+-,
然后很快按下c)
OmniCppComplete***与配置
OmniCppComplete主要提供输入时实时提供类或结构体的属性或方法的提示和补全。该功能要tags文件的支持。
***步骤:
1) 从下载***包。
将omnicppcomplete-0.41***包解压,把解压后的文件夹复制到在~/.vim目录,提示重名时选择合并。
3)进入~/.vim/doc目录,在Vim下运行"helptags
4)在.vimrc文件中进行配置
"-- omnicppcomplete setting --
按下F2自动补全代码,注意该映射语句后不能有其他字符,包括tab;否则按下F3会自动补全一些乱码
&C-X&&C-O&
按下F3根据头文件内关键字补全
&C-X&&C-I&
completeopt=menu,menuone " 关掉智能补全时的预览窗口
OmniCpp_MayCompleteDot = 1 " autocomplete with .
OmniCpp_MayCompleteArrow = 1 " autocomplete with
OmniCpp_MayCompleteScope = 1 " autocomplete with ::
OmniCpp_SelectFirstItem = 2 " select first item (but don't
OmniCpp_NamespaceSearch = 2 " search namespaces in this and
included files
OmniCpp_ShowPrototypeInAbbr = 1 " show function prototype in popup
OmniCpp_GlobalScopeSearch=1 " enable the global scope search
OmniCpp_DisplayMode=1 " Class scope completion mode: always show
all members
OmniCpp_DefaultNamespaces=["std"]
OmniCpp_ShowScopeInAbbr=1 " show scope in abbreviation and remove
the last column
OmniCpp_ShowAccess=1
omnicppcomplete***完成。
OmniCppComplete是基于ctags数据库即tags文件实现的(基于ctags生成的索引信息来实现自动补全的),所以在ctags
-R生成tags时还需要一些额外的选项,这样生成的tags文件才能与OmniCppComplete配合运作。使用下列命令生成tags文件,就可以与OmniCppComplete配合运作:
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .
--c++-kinds=+p& : 为C++文件增加函数原型的标签
--fields=+iaS&& :
在标签文件中加入继承信息(i)、类成员的访问控制信息(a)、以及函数的指纹(S)
--extra=+q&&&&&
: 为标签增加类修饰符。注意,如果没有此选项,将不能对类成员补全
# vim自动补全功能的测试
# 为了测试自动补全功能,我们先下载C++一份C++标准库的源代码。
lingd@ubuntu:~$ sudo apt-get install build-essential
# 然后在/usr/include/c++下就可以找到标准库的头文件了。
lingd@ubuntu:~$ cd /usr/include/c++
lingd@ubuntu:/usr/include/c++$ ls
# 在此文件夹下生成能与OmniCppComplete配合运作的tags文件
lingd@ubuntu:/usr/include/c++$ ctags -R --c++-kinds=+p
--fields=+iaS --extra=+q .
lingd@ubuntu:/usr/include/c++$ ls
# 在vim的配置文件中如下内容,然后在编程的时候就可以使用自动补全功能了。
lingd@ubuntu:/usr/include/c++$ vi ~/.vimrc
set tags+=/usr/include/c++/tags
更多功能通过在Vim命令行下运行"help omnicppcomplete"查询。
SuperTab***与配置
SuperTab使Tab快捷键具有更快捷的上下文提示功能。跟OmniCppComplete一样,SuperTab也是一个Vim插件。
***步骤:
1) 从下载***包。
2)&这个***包跟先前的几个Vim插件不同,它是一个vmb文件。用VIM打开此文件($
vim supertab.vmb),在命令行输入:so %即可。
3)在.vimrc文件中进行配置
"-- SuperTag setting --
g:SuperTabDefaultCompletionType="context"
SuperTab***完成。
SuperTab使用很简单,只要在输入变量名或路径名等符号中途按Tab键,就能得到以前输入过的符号列表,并通过Tab键循环选择。
使用SuperTab后,&Tab&键缩进不能用了,
如果前面有字符按下&Tab&键后就会进行补全,
而不是缩进,& 如果哪位朋友知道, 请一定记得告诉我guoqing-
Winmanager,NERDTree和MiniBufExplorert***与配置
这三个插件,主要优化布置VIm的界面。NERDTree 提供树形浏览文件系统的界面, MiniBufExplorer
提供多文件同时编辑功能,而 Winmanager将这NERDTree界面和Taglist界面整合起来,使Vim更像VS!
***步骤:
&&下载***包。
将NERDTree***包解压,把解压后的文件夹复制到在~/.vim目录,提示重名时选择合并。
3)进入~/.vim/doc目录,在Vim下运行"helptags
4)MiniBufExplorer只有一个.vim文件,将其拷贝到~/.vim/plugin目录。
5)Winmanager***与NERDTree步骤相同。
6)在.vimrc文件中进行配置。
&"-- WinManager setting --
g:winManagerWindowLayout='FileExplorer|TagList' " 设置我们要管理的插件
g:persistentBehaviour=0 " 如果所有编辑文件都关闭了,退出vim
&&& nmap wm
:WMToggle&cr&
"--NERDTree setting--
g:NERDTree_title="[NERDTree]"&
g:winManagerWindowLayout="NERDTree|TagList"&
&&& function!
NERDTree_Start()&
exec 'NERDTree'&
endfunction&
&&& function!
NERDTree_IsValid()&
endfunction&
&" -- MiniBufferExplorer
g:miniBufExplMapWindowNavVim = 1 "
按下Ctrl+h/j/k/l,可以切换到当前窗口的上下左右窗口
g:miniBufExplMapWindowNavArrows = 1 "
按下Ctrl+箭头,可以切换到当前窗口的上下左右窗口
g:miniBufExplMapCTabSwitchBufs = 1 "
启用以下两个功能:Ctrl+tab移到下一个buffer并在当前窗口打开;Ctrl+Shift+tab移到上一个buffer并在当前窗口打开;ubuntu好像不支持
g:miniBufExplMapCTabSwitchWindows = 1 "
启用以下两个功能:Ctrl+tab移到下一个窗口;Ctrl+Shift+tab移到上一个窗口;
g:miniBufExplModSelTarget =
不要在不可编辑内容的窗口(如TagList窗口)中打开选中的buffer
三个插件***完成。
现在进入我们的项目目录,打开Vim,按下组合快捷键w-m就可以我们的崭新的Vim了!再次按下w-m就可关闭界面。
MiniBufferExplorer常用命令
移到上一个buffer
&Shift-Tab& 移到下一个buffer
打开光标所在的buffer
d&& 删除光标所在的buffer
WinManager常用命令
wm打开/关闭WinManage
文件浏览器命令(在文件浏览器窗口中使用)
&enter&或双击&
如果光标下是目录, 则进入该目录; 如果光标下文件, 则打开该文件
如果光标下是目录, 则进入该目录; 如果光标下文件, 则在新窗口打开该文件
&F5& 刷新列表
-& 返回上一层目录
c& 使浏览目录成为vim当前工作目录
d& 创建目录
D& 删除当前光标下的目录或文件
i& 切换显示方式
R& 文件或目录重命名
s& 选择排序方式
r& 反向排序列表
x& 定制浏览方式, 使用你指定的程序打开该文件
NERDTree常用命令
回车,打开文档;r,刷新工程目录文件列表;I,显示或隐藏隐藏文件
QuickFix***与配置
Cscope查找有一个显示查询结果的窗口,
这个窗口中列出了查询命令的查询结果, 用户可以从这个窗口中选择每个结果进行查看, 这个窗口叫"QuickFix"窗口,
以前也是一个vim的插件来的, 只不过现在成了vim的标准插件, 不用去***了,
QuickFix窗口的主要作用就是上面看到的那个功能: 输出一些供选择的结果, 可以被很多命令调用, 更详细的介绍和使用方法见help
quickfix件。
QuickFix常用命令
:cw调出QuickFix窗口
:cn&&&&&&&
// 切换到下一个结果
:cp&&&&&&&
// 切换到上一个结果
Grep***与配置
进行工程内全局查找,可以借助此插件实现。
***步骤:
1) 从下载***包。
2)&把grep.vim
文件复制到 ~/.vim/plugin 文件夹。
3)在.vimrc文件中进行配置。
&"-- grep setting --
&&& nnoremap
:Grep&CR&"
taglist***完成。
将光标移到要grep的 地方上, 然后按下F4键。
在最下面的命令行会显示:
是问你搜索范围, 默认是该目录下的所有文件, 此时你还可以编辑该行, 比如你只想搜索源码文件:
files: *.c *.h
然后在按下回车, 会在弹出的QuickFix窗口中列出所有符合条件的搜索结果, 你可以在其中查找你想要的结果,
A插件***与配置
c/***件间相互切换。
***步骤:
从http://www.vim.org/scripts/script.php?script_id=31下载***包。
将将a.vim 复制到 ~/.vim/plugin
文件夹中。
3)在.vimrc文件中进行配置。
& & "-- A setting --
&& &nnoremap
A***完成。
在新Buffer中切换到c/***件
横向分割窗口并打开c/***件
纵向分割窗口并打开c/***件
新建一个标签页并打开c/***件
c-support***与配置
C.vim即C-Support vim,能够帮助C程序员很好的完成一些重复性的工作,节约时间,并保护你的键盘。插件作者Fritz
Mehner,编写c.vim的宗旨是“Write and run programs. Insert statements,
idioms, comments”.& &
***步骤:
从http://www.vim.org/scripts/download_script.php?src_id=9679下载***包。
将cvim***包解压,把解压后的文件夹复制到在~/.vim目录,提示重名时选择合并。
3)在.vimrc文件中进行配置。
"-- c-support setting --
&"在.vimrc中用命令filetype plugin on激活插件。
&"$ vim ~/.vim/c-support/templates/Templates
可改变头说明
&"快捷键帮助信息详见doc的pdf文档
C-Support***完成。
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

参考资料

 

随机推荐