如何将vim打造成Linux下的source insight
编写者:龙诗科
邮箱: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
然后就是安装插件了,这里主要参考了以下三个博客文章:
安装插件之前,首先要安装ctags,因为插件Taglist是以tags文件为基础的,需要ctags来生成tags文件。ubuntu下安装ctags只要在终端输入以下命令即可:
sudo apt-get install ctags
然后,我是按照以下顺序来安装vim的插件的:
- 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的更多相关文章
- 打造linux下的source insight——vim插件安装使用总结
source insight是windows下的优秀编辑器,适合阅读管理代码,主要有以下功能: 查找函数,变量或者宏的定义. 查找函数,变量或者宏的引用位置. 查找函数被调用的位置 查找某个符号在工程 ...
- Linux下用source insight的另一种方式--Samba
花了一些时间想找一个在Linux下的类似source insight的东东,网上有人推荐的source navigator,kscope之类,就那么几种颜色(也许没深入设置),也能叫语法高亮?至于其他 ...
- Linux 下安装Source Insight
第一步: 安装Wine 下面跟大家分享一下如何在Ubuntu 12.04上安装Wine 1).添加PPA -- PPA:表示 Personal Package Archives,也就是个人软件包集. ...
- windows10下使用source insight出现"source insight program editor已停止工作"的问题
一.背景 1.1 OS 版本 windows 10 1.2 source insight版本 source insight 3.50.0034 二.解决方案 删除"我的文档"下面的source ins ...
- ubuntu下安装 Source insight
习惯了在source insight下编辑阅读源码,在linux下用vi总是用不好 ,还是在ubuntu上用回熟悉的source insight. 在ubuntu中,安装windows程序用wine, ...
- Ubuntu 下安装Source Insight [转]
本文转载自:http://blog.csdn.net/yunfeiyang62/article/details/46662633 安装Source Insight之前需要先安装Wine,然后用Wine ...
- Linux下的Source命令及脚本的执行方式解析
Linux Source命令及脚本的执行方式解析 http://blog.csdn.net/wangyangkobe/article/details/6595143 当我修改了/etc/profile ...
- linux下的Source命令的基本功能
source命令用法:source FileName作用:在当前bash环境下读取并执行FileName中的命令.注:该命令通常用命令“.”来替代.如:source .bash_rc 与 . .bas ...
- linux下的source命令
Linux Source命令及脚本的执行方式解析 当我修改了/etc/profile文件,我想让它立刻生效,而不用重新登录:这时就想到用source命令,如:source /etc/profile ...
随机推荐
- ceph集群添加osd
获取osd的ID 这个操作是在管理节点上执行 [root@node-4 osd]# ceph osd create 2 对磁盘做处理 [root@node-4 ~]# parted /dev/sdb ...
- 阶段3 2.Spring_10.Spring中事务控制_11 spring5新特性的介绍
jdk1.7和1.8的差别 准备好的一个maven工程 反射创建对象10亿次 ,用的时间 替换jdk的版本 选择为1.7 切换了1.7的版本以后呢执行的速度就变的非常的慢 两个版本的对比 响应式编程风 ...
- 转载-c++深拷贝和浅拷贝
转载自:https://blog.csdn.net/u010700335/article/details/39830425 C++中类的拷贝有两种:深拷贝,浅拷贝:当出现类的等号赋值时,即会调用拷贝函 ...
- python基础--面向对象之封装
# 在python中用双下划线,开头的方式将属性隐藏起来(设置成私有的) # 但其实这只是一种变形操作,而且仅仅在类定义阶段会发生变形 # 类中所有双下划线开头的如__x都会在类定义的时候自动形成:_ ...
- Visual Subst - 简单将任意文件夹挂载模拟成驱动器盘符硬盘分区的小工具
随着电脑的使用,硬盘里的资料一天比一天多,也越来越杂乱.一些朋友为了方便文件管理,会考虑重新分区,让C.D.E等盘符分别担任不同的角色.不过,不分区的话也有一些小工具可以帮你实现. Visual Su ...
- BUUOJ reverse 刮开有奖
刮开有奖 这是一个赌博程序,快去赚钱吧!!!!!!!!!!!!!!!!!!!!!!!!!!!(在编辑框中的输入值,即为flag,提交即可) 注意:得到的 flag 请包上 flag{} 提交 拖到id ...
- Spring Boot解决无法访问图片的问题
找了很多Spring Boot项目访问图片的解决方式,发现都是配置的,有时配置了也没有用.然后自己研究了一种简单操作的方法. 1,在Spring Boot的static目录下创建一个新目录img(或者 ...
- Windows7下Pycharm安装Keras
1.安装Anaconda3 2.安装Pycharm 3.安装TensorFlow 一.File -> Settings -> Install 二.搜索TensorFlow -> In ...
- gitlab 安装、配置
gitlab 安装.配置 对于企业级的私有 git 仓库,gitlab 是个不错的选择. 今天就来说说 gitlab 的安装.配置. 系统配置建议:最低双核 4G 内存. 当前针对 gitlab 版本 ...
- 2019icpc徐州网络赛
A Who is better? 题意 excrt+斐波那契博弈 分析 Java的BigInteger对象默认为null,不能直接比较. 代码 import java.math.BigInteger; ...