⑴可以发现执行后没有反应,那是因为没有打开cscopeverbose选项,打开后增加数据库后会显示成功还是失败信息,默认是关闭的,我们把它打开。
⑵:setcsverb
⑶想要查看当前已经加载了哪些cscope数据库
⑷想要删除某个数据库
⑸:cskill #
⑹安装ctags和cscope后,就有两种数据库了,默认会同时查看cscope和ctag数据库,这个行为由cst控制,默认是打开的。
⑺Csto控制查看数据库的顺序,等于时优先查看cscope数据库,再查看ctags数据库
⑻:setcsto=
⑼为了方便,我们可以在.vimrc中自动增加当前路径下的cscope数据库
⑽if has(“cscope” set csprg=/usr/local/bin/cscope set csto= set cst set csverb if filereadable(“cscope.out” cs add cscope.out elseif $CSCOPE_DB != “” cs add $CSCOPE_DB endif set csverbendif
⑾配置好以后就可以使用cscope的强大的查找功能了,cscope查找命令
⑿:cs find type name
⒀或者s —— 查找name在这个工程中出现的位置
⒁或者g —— 查找name的定义
⒂或者d —— 查找name调用的函数
⒃或者c —— 查找调用name的函数
⒄或者t —— 查找name字符串
⒅或者e —— 查找egrep匹配模式
⒆或者f —— 查找文件
⒇或者i —— 查找#include 文件名为name的文件
⒈我在平常使用的最多是查找定义和调用当前函数的函数,所以在.vimrc中配置成F和F快捷键,自动查找光标下符号。
⒉nmap 《F》 :cs find 《C-R》=expand(“《cword》”《CR》《CR》
⒊nmap 《F》 :cs find 《C-R》=expand(“《cword》”《CR》《CR》
⒋.taglist
⒌source insight左边是当前文件的所有符号窗口,包括include的头文件,函数和变量。这个功能可以由taglist实现。Ubuntu下安装非常方便,
⒍vim-addons install taglist
⒎vim-addons是vim的插件管理程序,如果没有安装的话可以执行以下命令安装
⒏sudo apt-get install vim-addon-manager
⒐sudo apt-get install vim-scripts
⒑vim-addons status可以看到当前插件的安装状态
⒒vim-addons install 安装插件
⒓vim-addons remove 删除插件
⒔安装好taglist后,可以自己打开和关闭taglist窗口,
⒕:TlistToggle
⒖可以设置成F快捷键,不过等后面安装了winmanager后也不需要手动控制了。
⒗nnoremap 《silent》 《F》 :TlistToggle《CR》 F
⒘几个比较实用的选项需要打开:
⒙let Tlist_Auto_Open= “打开文件时自动打开taglist
⒚let Tlist_Exit_OnlyWindow= “关闭文件时自动关闭taglist
⒛let Tlist_File_Fold_Auto_Close= “taglist window中折叠非当前文件
①let Tlist_Process_File_Always= “taglist始终解析文件
②需要查看更多选项请help
③:help taglist.txt
④Ctrl-w-w 跳到taglist窗口,Taglist窗口中也有快捷键,
⑤《enter》 跳到光标下的tag定义的位置
⑥u 更新taglist
⑦《tab》或]] 跳到下一个文件
⑧《BS》或[[ 跳到上一个文件
⑨.NERDTree
⑩Source insight右边是文件列表窗口,显示了工程的所有文件名。文件管理插件NERDTree具有类似的功能,该插件可以显示当前目录下所有文件和目录,并方便地浏览和操作文件。
ⅠVim addon manager没有NERDTree插件,需要自己下载NERDTree,下载后将plugin/NERD_tree.vim 和doc/NERD_tree.txt分别复制到.vim的相应目录下
Ⅱ为了让winmanager顺利打开NERDTree窗口,在.vimrc中增加下面代码,
Ⅲlet g:NERDTree_title=‘[NERD Tree]’function! NERDTree_Start( exec ‘NERDTree’endfunctionfunction! NERDTree_IsValid( return endfunction
Ⅳ.winmanager
Ⅴ为了像source insight一样同时显示多个窗口,需要winmanager插件。
Ⅵvim-addons install winmanager
Ⅶ同时在winmanager中显示NERDTree和taglist窗口,默认在左边,
Ⅷlet g:winManagerWindowLayout=‘NERDTree|TagList’