在Mac上使用vundle自动安装vim插件,并用vim代替sourceinsight
一直以来在Mac上找不到好的代码阅读工具,最近根据网上的教程,自己总结一下,做了个在Mac的类sourceinsight的vim,感觉很好用。我不喜欢那种把vim搞的很复杂的配置,所以做了个仅仅能满足浏览代码的vim。
首先我们需要安装homebrew,在终端输入下面命令安装。
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
安装完成后,运行下面代码安装vim和mac vim
brew install vim
brew install macvim
brew install ctags
brew install cscope
现在已经安装了必备的软件了,但是Mac下Xcode也有一个程序叫ctags,而且mac也自带vim,所以我们需要修改系统变量。
sudo vim /etc/paths
系统默认将/usr/bin放在第一行,只需要将/usr/local/bin放在第一行就可以了。
/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin
经过这样的配置,就可以使用最新版的vim了。
接下来在代码的根目录运行
ctags -R
cscope -Rbq
在vim下,我们可以使用自动安装插件的工具vundle,执行下面的代码安装vundle
sudo git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
之后编辑vimrc文件。
sudo vim ~/.vimrc
粘贴这段内容到vim中
"设置vundle
set nocompatible " be iMproved
filetype off " required! set rtp+=~/.vim/bundle/vundle/
call vundle#rc() Bundle 'scrooloose/nerdtree' "文件浏览
Bundle 'majutsushi/tagbar' "代码符号
Bundle 'wesleyche/SrcExpl' "类似sourceInsight的代码预览窗口
filetype plugin indent on " required!
"vundle设置完毕 syntax on
let g:tagbar_ctags_bin='/usr/local/bin/ctags'
let g:tagbar_left =
nnoremap <F3> :TagbarToggle<CR>
let NERDTreeWinPos='right'
nnoremap <F2> :NERDTreeToggle<CR>
nmap <F4> :SrcExplToggle<CR>
let g:Srcexpl_winHeight =
" // Set 100 ms for refreshing the Source Explorer
let g:SrcExpl_refreshTime = " // Set "Enter" key to jump into the exact definition context
let g:SrcExpl_jumpKey = "<ENTER>" " // Set "Space" key for back from the definition context
let g:SrcExpl_gobackKey = "<SPACE>" let g:SrcExpl_pluginList = [
\ "__Tag_List__",
\ "_NERD_tree_"
\ ] set tags=tags;/ "搜索上一级建立的tag nmap <C-H> <C-W>h "control+h进入左边的窗口
nmap <C-J> <C-W>j "control+j进入下边的窗口
nmap <C-K> <C-W>k "control+k进入上边的窗口
nmap <C-L> <C-W>l "control+l进入右边的窗口
保存后,重新启动vim(注意使用sudo),按ESC后输入:BundleInstall后回车,系统会自动安装这些插件。安装完成后重新启动vim,这时按下F2,F3,F4,就看到sourceinsight的那些功能和界面了。强烈建议使用MacVim看代码。
在Mac上使用vundle自动安装vim插件,并用vim代替sourceinsight的更多相关文章
- 如何在 Mac 上通过 Boot Camp 安装 Windows?
如何在 Mac 上通过 Boot Camp 安装 Windows? The following contents are chosen from the apple website, thanks f ...
- Mac上go的下载安装教程
mac上go的下载安装教程 官网https://golang.google.cn/dl/下载,安装 环境变量配置 参考https://www.jianshu.com/p/5c1873eaf3ca Ba ...
- Mac 上 Apache Apollo 的安装与运行,和官方下载文件中 Python 实例的演示
前不久我在 Mac 上成功安装了 mosquitto,这次我又试了试安装另一个热门的 broker —— Apache Apollo.对在 Mac 上安装 mosquitto 感兴趣的可以点击查看我的 ...
- 【转】如何在Mac上卸载Java及安装Java
如何在 Mac 上卸载 Java? 本文适用于: 平台: Macintosh OS X Java 版本: 7.0, 8.0 使用终端卸载 Oracle Java 注:要卸载 Java,必须具有管理员权 ...
- mac上一键配置和安装adb驱动或者环境
最近才使用的mac,老实说mac上要配置adb的环境不那么复杂,但是还是会让一些心不细或者动手能力不强的同学望而却步.那么到底有没有一个一键完成mac上adb和fastboot环境搭配的软件或者脚本呢 ...
- 在任何mac上用u盘安装OSX和Windows10双系统的方法(支持老电脑、不用Bootcamp)
Win10是微软主推的,兼容性做的还不错,安装工具做的适应性好. 而且很多Mac机上的Bootcamp不支持u盘安装. 1.先安装OSX,一般电脑自带(建议升级到最新版).如果装了新的ssd,重新安装 ...
- Mac上使用Docker Desktop安装Kubernetes
下载镜像需要特殊手段,你懂的,如果没有特殊手段,建议放弃这种方式. 1 启用Kubernetes 启用过程,会联网下载kubenetes相关的核心组件镜像,如下是我下载好的: 下载好了,kubenet ...
- Mac上使用selenium自动运行chrome
一.用我们的老朋友pip把selenium装好 pip install selenium 二.用webdriver.Chrome启动Chrome浏览器 from selenium import web ...
- 在mac上使用tar.gz安装mysql
官方: download: https://dev.mysql.com/downloads/mysql/ mysql参考文档:https://dev.mysql.com/doc/ 环境: macOS ...
随机推荐
- 关于nginx架构探究(2)
nginx 数据结构 1.Hash table nginx 对虚拟主机的管理使用到了HASH数据结构,假设配置文件里有如下的配置. Server{ listen 192.168.0.1 server_ ...
- JDBC开发模式
一]代码模块———Demo.java public class Demo { private static Connection connection; private static Statemen ...
- wireshark抓一抓,看是不是另一个机器也企图DHCP
早上的问题,昨晚四点睡,今早九点半起... 到公司处理此问题,不知道相关性大不大..
- 一位搬家师傅的O2O之旅
一位搬家师傅的O2O之旅 By 诸神之黄昏 | 2014/08/14 [核心提示] 一位普通的搬家师傅,无意中被卷入如火如荼的 O2O 浪潮,起初,互联网让他尝到了甜头,后来则是更多的困惑和不解. 再 ...
- python倒计时
#coding=utf-8 #!/usr/bin/env python import datetime,time i=3 while i==3: spring=datetime.datetime(20 ...
- linux自动交互工具expect,tcl安装和安装包,以及自动互信脚本
linux自动交互工具expect,tcl安装,以及自动互信脚本 工作中需要对几十台服务器做自动互信,无意中发现expect命令,研究一番. 在网上找了许多资料也没有安装成功,摸索着总算成功了.现分享 ...
- Swift 2.0 封装图片折叠效果
文/猫爪(简书作者)原文链接:http://www.jianshu.com/p/688c491580e3著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 用Swift封装图片折叠效果 b ...
- Sybase自增字段跳号的解决方法
Sybase自增字段跳号原因及影响: 在Sybase数据库中如果数据库在开启的情况下,因为非正常的原因(死机.断电)而导致数据库服务进程强制结束. 那么自动增长的字段将会产生跳号的情况,再往数据表里面 ...
- 用SNMP协议实现系统信息监控--Windows Server 2008
简单了解: SNMP简单网络管理协议,是一种属于应有层的协议,主要有三个部分组成,被管理部分.代理部分和网络管理系统. 被管理部分是一个网络节点,也称为网络单元.SNMP代理是被管理设备上的一个网络管 ...
- 关于transform的2D
在transform的学习中,自己总结了一点经验. 我们知道transform有2D和3D的两大类变换,这里分享下关于2D的属性简单示例: 一.2D变换: (x为水平,y为垂直) 1.skew(斜拉 ...