如何将vim打造成Linux下的source insight

编写者:龙诗科

邮箱:[email protected]

2016-01-06

众所周知,windows下的source insight是阅读项目代码的神器,其神奇之处在于可以根据当前鼠标所指的函数名或者变量,来进行全局搜索该函数或变量的定义,而且还会显

示出哪些文件中同样含有该函数定义,另外可以显示当前文件中的变量和函数列表。因此特别适合在windows下用source insight 来进行大项目代码阅读和管理。但是Linux下不能

安装source insight,而vim和Emacs是linux下编辑代码的神器,其vim的功能可以通过一系列的插件来扩展,很方便,且都是开源的,通过一下午的折腾,终于完成了简单而又强

大的vim环境搭建,当然自己为了培养码农能力,并没有安装代码补全的功能插件,折腾之后的效果图如下:

我用的ubuntu14.03LTS版本,之所以没有用14.10是因为国内的很多软件源都不支持该版本的升级,当你安装好了ubuntu之后,默认已经安装了vi,这时候,你自己先得安装

vim,在终端输入以下命令即可:

sudo apt-get install vim

这时,你可以用以下命令来检测是否安装成功:

vim --version

然后就是安装插件了,这里主要参考了以下三个博客文章:

将你的Vim打造成轻巧强大的IDE

改造vim编程source insight

Vim Taglist插件的安装与配置

安装插件之前,首先要安装ctags,因为插件Taglist是以tags文件为基础的,需要ctags来生成tags文件。ubuntu下安装ctags只要在终端输入以下命令即可:

sudo apt-get install ctags

然后,我是按照以下顺序来安装vim的插件的:

  1. Taglist插件

Taglist插件的效果就如上图左上角窗口,该窗口显示当前文件中的变量和函数,首先去网上地址下载Taglist插件,下载之后解压taglist_45.zip,里面有两个目录,分别为doc

和plugin,分别将两个目录下的文件复制到vim目录里面的doc和plugin即可,这个操作你需要先找到解压的文件,然后在终端输入:

cp doc/taglist.txt /usr/share/vim/vim74/doc/
cp plugin/taglist.vim /usr/share/vim/vim74/plugin/

同时你可以设置自己的vim参数,在终端输入:

vim ~/.vimrc

在该文件中输入:

//语法高亮
syntax on

//显示行号
set number

//自动缩进与C语言风格缩进
set autoindent
set cindent

//缩进宽度
set tabstop=4
set softtabstop=4
set shiftwidth=4
//建议开启expandtab选项,会自动将tab扩展很空格,代码缩进会更美观set expandtab

//switch case 对齐风格
set cino=g0,:0

//设置 taglist

let Tlist_Show_One_File=1   //只显示当前文件的tags
let Tlist_WinWidth=30        //设置taglist宽度
let Tlist_Exit_OnlyWindow=1  //tagList窗口是最后一个窗口,则退出Vim
let Tlist_Use_Left_Window=1 //在Vim窗口左侧显示taglist窗口    

2.   SrcExpl 插件

该插件就是可以进行搜索功能,是如图中下面的框,可以去网上地址进行下载,安装过程跟Taglist插件一样,将两个目录下面的文件复制到vim的doc和plugin下面即可,然后

修改自己的vim下的.vimrc文件,该如何修改,该开源插件给出了具体例子,可以参考其官方开源地址

3.  Trinity插件

该插件含有NERD_tree.vim和trinity.vim。

NERD_tree是实现图中最右边的功能框。就是实现文件树这个功能,而这个Trinity的文件下有一个trinity.vim,是实现三个功能框快速开关的功能。可以从网上地址进行下

载。把这个文件解压后会有NERD_tree.vim  trinity.vim这两个插件,直接复制到vim安装目录下的plugin文件夹下即可,然后再修改/.vimrc文件。如何修改可以参照其官方的github网址

修改完之后的效果就是F8打开关闭所有的功能框,F9打开关闭SourceExplorer功能框,剩下的都是相关的键控制相关的功能框。可以自己定义功能键。F10另一个功能就是更

新ctags的内容,如果更改了代码保存后按下F10更新ctags。当然如果再加上set mouse=a  就可以再vim下使用鼠标了。

这时你先在工程目录下执行ctags -R后,再用vim打开一个文件,按下F8(打开所有的功能框),试一试是不是和source insight一样了。

要去到预览框中的文件直接在预览框中双击鼠标,要返回就按空格键。

至此,就可以实现如图所示的效果了。

时间: 2024-10-29 03:30:18

如何将vim打造成Linux下的source insight的相关文章

Linux下用source insight的另一种方式--Samba

花了一些时间想找一个在Linux下的类似source insight的东东,网上有人推荐的source navigator,kscope之类,就那么几种颜色(也许没深入设置),也能叫语法高亮?至于其他速度/索引之类就不说了.论坛上倒是一堆人推荐vim+xxx的方式,我看估计也就跟在windows下硬要说ultraedit+xxx比source insight好的差不多.有VC不用非要用command的那是大牛,咱这种搞搞应用的就别去折腾了. 废话扯远了,下面是在Kubuntu 10.10下安装s

linux下的Source命令的基本功能

linux下的Source命令的基本功能 作者:淡淡de幸福 source命令用法:source FileName作用:在当前bash环境下读取并执行FileName中的命令.注:该命令通常用命令“.”来替代.如:source .bash_rc 与 . .bash_rc 是等效的.注意:source命令与shell scripts的区别是,source在当前bash环境下执行命令,而scripts是启动一个子shell来执行命令.这样如果把设置环境变量(或alias等等)的命令写进scripts

ubuntu 下安装source insight

linux下至今没有发现像SI这么牛逼的编辑器或者阅读器,但是也可以使用SI--- 在Ubuntu中,安装Windows程序用wine,然后用wine安装Windows软件即可. 安装wine 在终端输入以下命令: sudo apt-get install wine 用wine安装Source Insight 然后 wine  pwd(你的路径)/SourceInsight/InsightSetup.exe 按提示即可,跟windows下安装一样-- enjoy-- --------------

Linux下的Source命令及脚本的执行方式解析

Linux Source命令及脚本的执行方式解析 http://blog.csdn.net/wangyangkobe/article/details/6595143 当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用source命令,如:source /etc/profile对source进行了学习,并且用它与sh 执行脚本进行了对比,现在总结一下. source命令:source命令也称为“点命令”,也就是一个点符号(.),是bash的内部命令.功能:使Sh

Linux下的经典软件-史上最全

前言 从2012年接触Linux系统以来就被Linux系统所吸引,2个月后便完全抛弃了Windows.在这2年的时间里,我尝试了很多Linux发行版: Gentoo, Fedora, Ubuntu, Debian等.在这些系统中又尝试了很多种软件,这里根据自己的使用经验并结合网上的一些资料,对Linux下常用的软件进行整理,供大家参考,希望能帮助到大家.每款软件都有它的优缺点,适合自己的才是最好的.在这篇文章中我是按自己的喜好推荐给大家或者进行排序的,并不是说它们就是最好的,其它的就不行.建议大

linux 下MySQL的安装

一.安装MySQL   1.下载源码包     从mysql官网上下载linux下的source包mysql-5.0.51b.tar.gz,注意是下载GNU tar格式的,不是rpm包.    2.解包 tar xvf mysql-5.0.51b.tar.gz 3.进入mysql目录 cd mysql-5.0.51b 4.安装 ./configure  --prefix=/opt/cuix/ mysql-5.0.51 指定mysql的安装目录               --with-chars

Linux 下shell中exec解析

exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息.       bash shell的命令分为两类:外部命令和内部命令. 外部命令是通过系统调用或独立的程序实现的,如sed.awk等等. 内部命令是由特殊的文件格式(.def)所实现,如cd.pwd等 fork是linux的系统调用,用来创建子进程(child process). 子进程是父进程(parent process)的一个

Linux 下vim 不能进行保存

折腾了一个中午,在终端输入  vim myProgram 然后编辑以下内容 #!/bin/bash clear echo "" echo "The Telephone Book" echo "" echo "1.Display A Telephone Number" ehco "2.Add A New Telephone Number" echo "" echo "Q Quit

Linux下 vi vim vim-gnome vim-tiny vim-gtk vim-nox的区别

http://blog.csdn.net/pipisorry/article/details/39508417 1.使用vim替换vi vim比vi强大多了,vim属于vi的超集,而且能够解决很多习惯的问题,所以还是有必要使用vim替换vi的.简单地话,可以直接使用"alias vi=vim"命令即可,不过这样只能在这次启动的时候有用,下次启动后,这条就无效了,如果想下次还能使用,那么就需要修改用户自启动配置文件.bashrc,具体的修改如下: sudo apt-get install