学习啦>学习电脑>操作系统>Linux教程>

Ubuntu安装vim插件的步骤

时间: 孙胜652 分享

  Source Insight是一款编辑器,拥有强大的功能,但适用于Windows系统,那么Ubuntu系统该使用哪种编辑器呢?Vim就是Linux下很好的编辑器,下面学习啦小编就给大家介绍下如何在Ubuntu上安装vim插件。

  source insight是windows下的优秀编辑器,适合阅读管理代码,主要有以下功能:

  查找函数,变量或者宏的定义。

  查找函数,变量或者宏的引用位置。

  查找函数被调用的位置

  查找某个符号在工程内的所有匹配

  由于unix哲学主张一个工具只做好一件事情,所以linux下并没有这种集多样功能于一体的软件。vim是非常优秀的编辑器,本文介绍如何通过安装插件将vim武装成和source insight一样甚至更强大的工具。

  我的环境是ubuntu12.04 LTS+vim version 7.3

  1. ctags

  ctags插件用来查找函数,变量或者宏的定义,ubuntu下可以非常方便的安装,

  sudo apt-get install exuberant-ctag

  在源文件目录下执行命令

  ctags -R

  会生成一个tags文件,里面包含了所有源文件的符号信息。在vim中,快捷键ctrl+]会跳到当前函数的定义处。为了方便生产tags,设置快捷键F5生成tag,将下面命令加入到~/.vimrc

  nnoremap 《F5》 :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q 。《CR》

  nnoremap 表示vim普通模式的键映射,

  --c++-kinds=+p : 为标签添加函数原型(prototype)信息

  --fields=+iaS : 为标签添加继承信息(inheritance),访问控制(access)信息,函数特征(function Signature,如参数表或原型等)

  --extra=+q : 为类成员标签添加类标识

  如果项目有多层文件结构,一般只在根目录生成一个tag文件,那么子目录访问不到tag文件,在子目录中直接打开源文件将找不到函数的tag,一个方便的做法是在.vimrc中将tag加到tags的查找路径中,每个项目一项。

  “project1”

  set tags+=/project1/tags

  ctags的快捷键:

  ctrl+] 切换到定义处

  g+ctrl+] 如果多处匹配,列出匹配tag列表供选择

  count+ctrl+t 后退count个tag

  :count+tag 前进count个tag

  :ts 列出匹配tag列表,存在多个匹配时

  :tn 跳到下一处匹配tag

  :tp 跳到上一处匹配tag

  :tf 跳到地一个匹配tag

  :tl 跳到最后一个匹配tag

  :set tags? 查看tags文件路径

  2.cscope

  Ctags只能找到符号定义的地方,如果要像sourceinsight一样,具备查找类似函数调用查找,符号引用查找等高级功能,就要借助于cscope了。Cscope是类似于ctags的工具,不过它的功能比ctags强大多了。

  在当前源文件目录下执行

  cscope–Rbq

  其中

  -R:递归处理子层目录

  -b:生成数据库后自动退出

  -q:生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度

  vim打开源文件后,增加cscope数据库到当前环境中

  :csadd cscope.out

  可以发现执行后没有反应,那是因为没有打开cscopeverbose选项,打开后增加数据库后会显示成功还是失败信息,默认是关闭的,我们把它打开。

  :setcsverb

  想要查看当前已经加载了哪些cscope数据库

  :csshow

  想要删除某个数据库

  :cskill #

  安装ctags和cscope后,就有两种数据库了,默认会同时查看cscope和ctag数据库,这个行为由cst控制,默认是打开的。

  :setcst

  Csto控制查看数据库的顺序,等于0时优先查看cscope数据库,再查看ctags数据库

  :setcsto=0

  为了方便,我们可以在.vimrc中自动增加当前路径下的cscope数据库

  if has(“cscope”) set csprg=/usr/local/bin/cscope set csto=0 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

  Type包括

  0或者s —— 查找name在这个工程中出现的位置

  1或者g —— 查找name的定义

  2或者d —— 查找name调用的函数

  3或者c —— 查找调用name的函数

  4或者t —— 查找name字符串

  6或者e —— 查找egrep匹配模式

  7或者f —— 查找文件

  8或者i —— 查找#include 文件名为name的文件

  我在平常使用的最多是查找定义和调用当前函数的函数,所以在.vimrc中配置成F3和F4快捷键,自动查找光标下符号。

  nmap 《F3》 :cs find 3 《C-R》=expand(“《cword》”)《CR》《CR》

  nmap 《F4》 :cs find 0 《C-R》=expand(“《cword》”)《CR》《CR》

  3.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

  可以设置成F8快捷键,不过等后面安装了winmanager后也不需要手动控制了。

  nnoremap 《silent》 《F8》 :TlistToggle《CR》 F8

  几个比较实用的选项需要打开:

  let Tlist_Auto_Open=1 “打开文件时自动打开taglist

  let Tlist_Exit_OnlyWindow=1 “关闭文件时自动关闭taglist

  let Tlist_File_Fold_Auto_Close=1 “taglist window中折叠非当前文件

  let Tlist_Process_File_Always=1 “taglist始终解析文件

  需要查看更多选项请help

  :help taglist.txt

  Ctrl-w-w 跳到taglist窗口,Taglist窗口中也有快捷键,

  《enter》 跳到光标下的tag定义的位置

  u 更新taglist

  zo 打开折叠

  zc 关闭折叠

  《tab》或]] 跳到下一个文件

  《BS》或[[ 跳到上一个文件

Ubuntu安装vim插件的步骤

Source Insight是一款编辑器,拥有强大的功能,但适用于Windows系统,那么Ubuntu系统该使用哪种编辑器呢?Vim就是Linux下很好的编辑器,下面学习啦小编就给大家介绍下如何在Ubuntu上安装vim插件。 source insight是windows下的优秀编辑器
推荐度:
点击下载文档文档为doc格式

精选文章

  • Ubuntu磁盘整理命令汇总
    Ubuntu磁盘整理命令汇总

    Linux磁盘管理主要通过命令实现,今天学习啦小编将针对Ubuntu磁盘管理的命令做个整理汇总,以便让你对管理磁盘的命令有个详细的了解,感兴趣的朋友不

  • 备份Ubuntu系统的步骤
    备份Ubuntu系统的步骤

    相信不少人都没有对电脑备份的习惯,其实这样是不好的,在电脑出问题的时候备份的作用就体现出来的,它能够将系统还原到备份时候的状态。下面学习

  • Ubuntu使用QT无法输入中文怎么办
    Ubuntu使用QT无法输入中文怎么办

    QT Creator是轻量级集成开发环境,在Ubuntu系统操作中,使用QT时无法输入中文,遇到这种情况要如何处理呢?下面学习啦小编就给大家介绍下Ubuntu如何解决QT无

  • Ubuntu无法安装vim怎么办
    Ubuntu无法安装vim怎么办

    vim文本编辑器是由vi发展而来的,拥有丰富的编辑功能,Linux系统经常会用到vim文本编辑器。在Ubuntu系统中,vim文本编辑器存在无安装的问题,遇到这种问题

316107