2024年10月Ubuntu安装vim插件的步骤(2)

发布时间:

  ⑴可以发现执行后没有反应,那是因为没有打开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’