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. NPM 与 Nodejs

    安装了Nodejs之后,NPM也安装好了 如何知道当前是否已经安装Nodejs和NPM了呢? node -v //查看当前nodejs的版本 npm -v //查看当前npm的版本 NPM 初始化 n ...

  2. 分享知识-快乐自己:java 中的访问修饰符

    1):Java中的访问修饰符: Java面向对象的基本思想之一是封装细节并且公开接口.Java语言采用访问控制修饰符来控制类及类的方法和变量的访问权限,从而向使用者暴露接口,但隐藏实现细节. 访问控制 ...

  3. java 基础 - 反转字符串

    反转字符串 public class Main { public static void main(String[] args) { String newStr= strReverseWithArra ...

  4. hdu-5792 World is Exploding(容斥+树状数组)

    题目链接: World is Exploding Time Limit: 2000/1000 MS (Java/Others)     Memory Limit: 65536/65536 K (Jav ...

  5. BZOJ_2957_楼房重建_线段树

    BZOJ_2957_楼房重建_线段树 Description 小A的楼房外有一大片施工工地,工地上有N栋待建的楼房.每天,这片工地上的房子拆了又建.建了又拆.他经常无聊地看着窗外发呆,数自己能够看到多 ...

  6. plsql developer点滴

    PLSql中查看编译错误的具体内容: 1. 打开Command Windows show errors procedure procedure_name 

  7. JQuery Mobile+cordova构建一个Android项目

    1.安装Android开发环境     Android开发环境的安装,现在主要是由于不能访问谷歌站点,在windows下在host文件中添加一个对应的74.125.195.190 dl-ssl.goo ...

  8. ASCII字符点阵字库的制作和使用

    转自:http://blog.csdn.net/exbob/article/details/6532772 开发环境: Win7,Eclipse,MinGW 1.生成ASCII字符文件 ASCII编码 ...

  9. [poj1236]Network of Schools(targin缩点SCC)

    题意:有N个学校,从每个学校都能从一个单向网络到另外一个学校.1:初始至少需要向多少个学校发放软件,使得网络内所有的学校最终都能得到软件.2:至少需要添加几条边,使任意向一个学校发放软件后,经过若干次 ...

  10. TextBox控件TextMode=&quot;Password&quot;時

    TextBox控件TextMode="Password"時,觸發服務器端事件后,會清空掉TextBox的顯示值 2008-07-15 15:06:10|  分类: C#.NET 空 ...