编写者:龙诗科

邮箱: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. Android地图开发获取sHA1值方法

    public static String sHA1(Context context) { try { PackageInfo info = context.getPackageManager().ge ...

  2. Selenium 2自动化测试实战16(多窗口切换)

    一.多窗口切换 在页面操作过程中有时候点击某个链接会弹出新的窗口,这时就需要主机切换到新打开的窗口上进行操作.WebDriver提供了switch_to.window()方法.可以实现在不同的窗口之间 ...

  3. win10安装mysql-最简单教程

    工具下载地址 链接: https://pan.baidu.com/s/1XL2wUDrcd9NpT8NOcXoDTQ 提取码: vu34 下载好之后解压. 在目录D:\Program Files\my ...

  4. SAS数据挖掘实战篇【七】

    SAS数据挖掘实战篇[七] 6.5  SAS EM数据挖掘-----预测模型 1  问题定义 目标:建立模型预测贷款申请的信用状态,选择最优的模型来预测和减少损失. 数据集:SAMPSIO.DMAGE ...

  5. LeetCode.970-强大的整数(Powerful Integers)

    这是悦乐书的第367次更新,第395篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第229题(顺位题号是970).给定两个正整数x和y,如果对于某些整数i >= 0 ...

  6. java锁机制的面试题

    java锁机制的面试题 1.ABA问题 2.CAS乐观锁 3.synchronize实现原理 4.synchronize与lock的区别 5.volatile实现原理 6.乐观锁的业务场景及实现方式 ...

  7. 【计算机视觉】Emvisi2

    Emvisi2: A background subtraction algorithm, robust to sudden light changes Making Background Subtra ...

  8. 运维日常之机房浪潮服务器硬盘红灯亮起,服务器一直响,raid磁盘红色。。。故障解决方法

    按Ctrl+H进入到WebBIOS内,看见的错误如下所示: 错误是PDMissing,只不过维护的IBM服务器错误的磁盘不是第一块,而是第三块而已,不过坏哪块硬盘没有影响,重要的是错误的原因.这种错误 ...

  9. springBoot2.0使用@ImportResource引入spring配置文件.xml

    1. 编写spring配置文件.xml 这里是bean.xml <?xml version="1.0" encoding="UTF-8"?> < ...

  10. win7启动tomcat失败处理

    本地启动tomcat 后访问 127.0.0.1:8080 失败,查看错误如下 使用如下命令杀死占用8080的进程 netstat -ano | findstr 8080 # 查看8080端口状态 t ...