编写者:龙诗科

邮箱:longshike2010@163.com

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一样了。

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

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

https://www.cnblogs.com/longshike2010/p/5104240.html

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

  1. 打造linux下的source insight——vim插件安装使用总结

    source insight是windows下的优秀编辑器,适合阅读管理代码,主要有以下功能: 查找函数,变量或者宏的定义. 查找函数,变量或者宏的引用位置. 查找函数被调用的位置 查找某个符号在工程 ...

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

    花了一些时间想找一个在Linux下的类似source insight的东东,网上有人推荐的source navigator,kscope之类,就那么几种颜色(也许没深入设置),也能叫语法高亮?至于其他 ...

  3. Linux 下安装Source Insight

    第一步: 安装Wine 下面跟大家分享一下如何在Ubuntu 12.04上安装Wine 1).添加PPA --  PPA:表示 Personal Package Archives,也就是个人软件包集. ...

  4. windows10下使用source insight出现"source insight program editor已停止工作"的问题

    一.背景 1.1 OS 版本 windows 10 1.2 source insight版本 source insight 3.50.0034 二.解决方案 删除"我的文档"下面的source ins ...

  5. ubuntu下安装 Source insight

    习惯了在source insight下编辑阅读源码,在linux下用vi总是用不好 ,还是在ubuntu上用回熟悉的source insight. 在ubuntu中,安装windows程序用wine, ...

  6. Ubuntu 下安装Source Insight [转]

    本文转载自:http://blog.csdn.net/yunfeiyang62/article/details/46662633 安装Source Insight之前需要先安装Wine,然后用Wine ...

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

    Linux Source命令及脚本的执行方式解析 http://blog.csdn.net/wangyangkobe/article/details/6595143 当我修改了/etc/profile ...

  8. linux下的Source命令的基本功能

    source命令用法:source FileName作用:在当前bash环境下读取并执行FileName中的命令.注:该命令通常用命令“.”来替代.如:source .bash_rc 与 . .bas ...

  9. linux下的source命令

    Linux Source命令及脚本的执行方式解析   当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用source命令,如:source /etc/profile ...

随机推荐

  1. VIM速查表-转

    在linux上一直使用vim,慢慢熟悉了它的命令,才终于领悟了什么是编辑器之神. 最近抽空整理了这份速查表,收获颇丰,并分享给大家. 进入vim vim配置 移动光标 屏幕滚动 插入文本类 删除命令 ...

  2. 调整Linux终端显示分辨率

    linux 默认cli (command line interface)分辨率一般都比较小,显示的字体很大,不太美观,有时还影响结果的显示(例如出现kernel panic).所以有必要改变一下cli ...

  3. 阶段3 2.Spring_06.Spring的新注解_2 spring的新注解-Bean

    下面要解决第二部分的配置问题 这两行一出场,就表示可以通过调用构造函数实例化.因为这都是newInstance 上面的需要加上参数,下面的没有任何参数 下面这俩实现的效果不一样. 下面这个除了会创建对 ...

  4. zabbix报警后不会自动消除解决

    http://www.cnblogs.com/zhongkai-27/p/9984597.html

  5. Exceptionless安装的一些坑

    零.参考网站: https://www.cnblogs.com/zgshi/p/9152196.html 博客园上介绍.基本上介绍了如何安装和放到IIS上面. https://www.cnblogs. ...

  6. eclipse 包含头文件出错

    最近这段时间自己在写游戏的框架,在做的过程中遇到了一个问题:没办法#include <iostream>,在eclipse下F3也找不到对应的 iostream 文件, 最后在晚上找资料, ...

  7. Day02:变量 / JAVA基本类型

    变量 什么是变量? 变化数值的载体 变量声明.初始化.使用 声明变量  类型 大小(占用空间) int x; 初始化变量 (赋值) 给予占用空间 int x=35; 使用变量 直接使用变量名 注意: ...

  8. jQuery 获得内容

    地址 text() - 设置或返回所选元素的文本内容 html() - 设置或返回所选元素的内容(包括 HTML 标记) val() - 设置或返回表单字段的值 一.text()  html() &l ...

  9. mariadb数据库——关联、视图、事务、索引、外键

    1.关联 1)连接查询(内关联) inner join ... on 两个表连接查询 select * from students inner join classes 查询能够对应班级的学生以及班级 ...

  10. 如何在CBV中使用装饰器

    要区分函数装饰器和方法装饰器得区别 ,方法装饰器得第一个参数是self本身,所以函数装饰器不能用