编写者:龙诗科

邮箱: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,在终端输入以下命令即可:

  1. sudo apt-get install vim

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

  1. vim --version

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

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

改造vim编程source insight

Vim Taglist插件的安装与配置

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

  1. sudo apt-get install ctags

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

  1. Taglist插件

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

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

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

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

  1. vim ~/.vimrc

在该文件中输入:

  1. //语法高亮
  2. syntax on
  3.  
  4. //显示行号
  5. set number
  6.  
  7. //自动缩进与C语言风格缩进
  8. set autoindent
  9. set cindent
  10.  
  11. //缩进宽度
  12. set tabstop=4
  13. set softtabstop=4
  14. set shiftwidth=4
  15. //建议开启expandtab选项,会自动将tab扩展很空格,代码缩进会更美观set expandtab
  16.  
  17. //switch case 对齐风格
  18. set cino=g0,:0
  19.  
  20. //设置 taglist
  21.  
  22. let Tlist_Show_One_File=1 //只显示当前文件的tags
  23. let Tlist_WinWidth=30 //设置taglist宽度
  24. let Tlist_Exit_OnlyWindow=1 //tagList窗口是最后一个窗口,则退出Vim
  25. 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:layout_gravity 和 android:gravity 的区别?

    第一个是让该布局在其父控件中的布局方式,第二个是该布局布置其字对象的布局方式

  2. Storm之WordCount初探

    刚接触Strom,记录下执行过程 1.pom.xml <?xml version="1.0" encoding="UTF-8"?> <proj ...

  3. mysql的性能优化简介

    mysql性能下降的原因 sql语句本身有问题,或没建索引 索引失效,索引失效的原因本文后面会叙述 关联了过多的表,可能是前期设计缺陷,或者太奇葩的需求 服务器调优及参数设置,例如缓冲.线程等 mys ...

  4. 如何将txt文件转换为带章节目录的mobi文件

    txt文件基本没什么排版可言.所以想要把txt转换为mobi文件方便阅读. 具体步骤如下: 打开txt 用notepad++打开所需要转换的txt文件.(或者使用其他的能够支持正则表达式的编辑器). ...

  5. PyCharm给函数增加文档注释

    选择函数名,左上角会出现一个小灯泡,点击小灯泡 选择第二项 选中调用的函数名 Ctrl + Q 显示注释 如何配置操作习惯 File > sitting > 搜索 'keymap' > ...

  6. Mybatis面试题合集及答案

    Mybatis面试题合集及答案 1.#{}和${}的区别是什么? 答:${}是Properties文件中的变量占位符,它可以用于标签属性值和sql内部,属于静态文本替换,比如${driver}会被静态 ...

  7. CTF—攻防练习之SMB私钥泄露

    攻击机:192.168.32.152 靶机 :192.168.32.155 打开靶机 nmap一下 我们看到了开放了 ssh,smb,mysql这些端口,还有一个大端口 对smb服务我们可以1.使用空 ...

  8. cmd命令简单别木马的蛛丝马迹

    一些基本的Windows命令往往可以识别木马的蛛丝马迹,而且在保护网络安全上起到很大的作用. 检测网络连接 如果你怀疑自己的计算机上被别人安装了木马,或者是中了病毒,但是手里没有完善的工具来检测是不是 ...

  9. 【Deep Learning Nanodegree Foundation笔记】第 9 课:Model Evaluation and Validation

    In this lesson, you'll learn some of the basics of training models. You'll learn the power of testin ...

  10. java带图形界面的五子棋

    Main: package BlackWhite; import java.awt.BorderLayout; import java.awt.Color; import java.awt.FlowL ...