linux 使用vim、ctags 配置fabric 源码阅读环境

首先需要安装 ctags,作者使用apt-get 来安装的,安装的版本是5.9

apt-get install ctags

5.9 版本的ctags 默认不支持golang 语言

ctags --list-languages  

编辑 ~/.ctags 文件,手工加上golang 语言

--langdef=Go
--langmap=Go:.go
--regex-Go=/func([ \t]+[)]+)?[ \t]+([a-zA-Z0-9_]+)/\/d,func/
--regex-Go=/var[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\/d,var/
--regex-Go=/type[ \t]+([a-zA-Z_][a-zA-Z0-9_]+)/\/d,type/

然后在 fabric 上生成 tags 标签文件

cd /opt/gopath/src/github.com/hyperledger/fabric
ctags -R *

将 /opt/gopath/src/github.com/hyperledger/fabric/tags 文件加入到~/.vimrc 配置文件中,以下为作者的 ~/.vimrc 内容 (注意vim 要使用tags 标签,必须要先安装 taglist.vim 插件)

:map <F5> : tabprevious<CR>
:map <F6> : tabnext<CR>
:map <F4> : tabnew .<CR>
:map <F2> : vsplit .<CR>
:map <F3> : split .<CR>
:map <F7> <C-w><C-w>
:map <C-h> : vertical res -<CR>
:map <C-l> : vertical res +<CR>
:map <C-j> : res +<CR>
:map <C-k> : res -<CR> set ruler
set tabstop=
set incsearch
set hlsearch syntax on set tags=/opt/gopath/src/github.com/hyperledger/fabric/tags
let Tlist_Ctags_Cmd='/usr/bin/ctags'
let Tlist_Auto_Open=
let Tlist_Use_Right_Window=
let Tlist_File_Fold_Auto_Close=
let Tlist_Exit_OnlyWindow=

用户设置好后,就可以对fabric 源码进行阅读了

参考博客:

https://studygolang.com/articles/198

http://blog.csdn.net/chenbaoke/article/details/50848283

https://www.cnblogs.com/yuuyuu/p/5222980.html

hyperledger fabric 1.0.5 分布式部署 (九)的更多相关文章

  1. hyperledger fabric 1.0.5 分布式部署 (八)

    gdb debug peer 程序 在开始我们从 github 上download 下来的源码包,实际上已经包含了可执行的 peer 程序,但是该程序是使用 release 方式编译的,并不支持gdb ...

  2. hyperledger fabric 1.0.5 分布式部署 (七)

    fabric 使用 fabric-ca 服务 准备部分 首先需要用户从github上download fabric-ca 的工程代码 cd $GOPATH/src/github.com/hyperle ...

  3. hyperledger fabric 1.0.5 分布式部署 (六)

    如何在相同的peer 节点上创建多个 channel 作者在hyperledger fabric 1.0.5 分布式部署 (五)已经向读者们介绍了一个简单的fabric 的部署流程,那么根据上一篇博客 ...

  4. hyperledger fabric 1.0.5 分布式部署 (五)

    梳理fabric e2e_cli 测试程序的具体步骤 作者在 hyperledger fabric 1.0.5 分布式部署 (一)中给读者们介绍了如何从零开始部署一个测试的 demo 环境,如果细心的 ...

  5. hyperledger fabric 1.0.5 分布式部署 (四)

    chaincode 的开发 作者在hyperledger fabric 1.0.5 分布式部署 (三)中向读者介绍了如何开发fabric 的chaincode,那么实际上chaincode 还有其他的 ...

  6. hyperledger fabric 1.0.5 分布式部署 (二)

    环境:2台 ubuntu 16.04 角色列表 角色 IP地址 宿主端口 docker端口  peer0.org1.example.com  47.93.249.250  7051  7051  pe ...

  7. hyperledger fabric 1.0.5 分布式部署 (三)

    本篇博客主要是向读者介绍 fabric 在部署时的一些细节,还有作者自己学习过程中的心得. 初始化相关密钥的程序,实际上是一个shell脚本,并且结构特别简单 generateArtifacts.sh ...

  8. hyperledger fabric 1.0.5 分布式部署 (一)

    环境是个人虚拟机ubuntu 16.04 64 位版本 前期用户需要先安装好:gcc.g++.git 软件 安装 golang 首先给环境安装一个 go 语言环境,版本最好在1.8 以上 golang ...

  9. Hyperledger Fabric 1.0 从零开始(十三)——orderer分布式方案

    简述 在搭建HyperLedger Fabric环境的过程中,我们会用到一个configtx.yaml文件(可参考Hyperledger Fabric 1.0 从零开始(八)——Fabric多节点集群 ...

随机推荐

  1. property 中的strong 与weak

    strong关键字与retain关似,用了它,引用计数自动+1,用实例更能说明一切 @property (nonatomic, strong) NSString *string1; @property ...

  2. [egret+pomelo]实时游戏杂记(3)

    [egret+pomelo]学习笔记(1) [egret+pomelo]学习笔记(2) [egret+pomelo]学习笔记(3) 服务端的请求流程走完了一遍,下面就该看一下,在目前的服务端中,各服务 ...

  3. CEF与MLS快速交换对比

    MLS快速交换 到达某特定目的地址的IP包通常会引起数据包流,即假设交换过到特定目标的包之后,另一个很可能不久也会到达.通过构建最近交换目标的高速缓存,可以减少包在全路由表中查找同一目标的次数,这种“ ...

  4. IOS AppStore介绍图的尺寸大小(还有一些自己被拒的分享...)

    4s:640*960 5:640*1136 6:750*1334 6P:1242*2208 -------现在新版本的iTunes connect里只上传6P版本的大小就可以了,其他版本苹果会自动分辨 ...

  5. 分享知识-快乐自己: Oracle数据库实例、用户、表、表空间之间关系

    数据库: Oracle数据库是数据的物理存储.这就包括(数据文件ORA或者DBF.控制文件.联机日志.参数文件). 其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库 ...

  6. leetcode 66. Plus One(高精度加法)

    Given a non-negative number represented as an array of digits, plus one to the number. The digits ar ...

  7. 0.5px的实现的几种方法

    方法一 通过css3缩放 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  8. 谈"零缺陷"

    在刚参加工作初期的一次关于质量的培训中,第一次听到"零缺陷"这个词懵懵懂懂,当成一道概念题给记下.今年重读<质量免费>时对与零缺陷的部分始终心存疑虑,最近读<第一 ...

  9. 【C++基础】形参实参

    c++规定:一个函数的默认实参既可以在定义中,也可在声明中指定,但在一个文件(准确的说,是一个作用域)中只能为一个形参指定默认实参一次

  10. 【Matlab】常用函数

    1.取整函数 ceil(x)返回不小于x的最小整数值.floor(x)返回不大于x的最大整数值.round(x)返回x的四舍五入整数值.