GNU GLOBAL 笔记
来源:互联网 发布:zbrush 4r8 mac 破解 编辑:程序博客网 时间:2024/06/11 15:42
1. 安装配置:
1. 先安装global,yum或者apt源里面有,也可以源码安装;
2. 要用再emacs上,需要下载源码包:http://tamacom.com/global/global-6.2.tar.gz,解压,复制源码包根目录下面的gtags.el到emacs的load-path的一个目录下,再.emacs中加入:
(autoload 'gtags-mode "gtags" "" t);
2. 使用 (with Emacs)
参考:http://www.gnu.org/software/global/manual/global.html,这个是global的文档兼教程,比cedet各工具的文档,易读性和可操作性上要好上不少。
gtags-mode:打开/关闭 gtags mode;开启以后,可以使用gtags-为前缀的很多命令了;
gtags-find-tag:转到tag的定义处,默认为光标所在处的tag;
gtags-find-rtag:找出引用了tag的地方,输出列表格式如下:第一列为tag名,第二列为所在文件行号,第三列为所在文件名,第四列为所在语句;可以移动光标,然后按回车跳转到目标,然后可以通过gtags-pop-stack回到这个列表;
gtags-pop-stack:
gtags-find-tag-from-here:如果当前光标处的tag是定义,则它同gtags-find-rtags,如果不是定义,则它同gtags-find-tag;(好用)
gtags-find-symbol:如果有些符号没有定义在GTAGS中,可以使用这个命令;
gtags-find-with-grep:查找字符串,可以使用POSIX 正则表达式;
3. 快捷键 (in emacs)
快捷键定义在 gtags.el 中:
(;;; gtags.el --- gtags facility for Emacs)
基本都是C-c再加上 gtags 命令关键字:
;; Key mapping of gtags-mode.
(if gtags-suggested-key-mapping
(progn
; Current key mapping.
(define-key gtags-mode-map "\C-ch" 'gtags-display-browser)
(define-key gtags-mode-map "\C-]" 'gtags-find-tag-from-here)
(define-key gtags-mode-map "\C-t" 'gtags-pop-stack)
(define-key gtags-mode-map "\C-cP" 'gtags-find-file)
(define-key gtags-mode-map "\C-cf" 'gtags-parse-file)
(define-key gtags-mode-map "\C-cg" 'gtags-find-with-grep)
(define-key gtags-mode-map "\C-cI" 'gtags-find-with-idutils)
(define-key gtags-mode-map "\C-cs" 'gtags-find-symbol)
(define-key gtags-mode-map "\C-cr" 'gtags-find-rtag)
(define-key gtags-mode-map "\C-ct" 'gtags-find-tag)
(define-key gtags-mode-map "\C-cd" 'gtags-find-tag)
(define-key gtags-mode-map "\C-cv" 'gtags-visit-rootdir)
; common
(define-key gtags-mode-map "\e*" 'gtags-pop-stack)
(define-key gtags-mode-map "\e." 'gtags-find-tag)
(define-key gtags-mode-map "\C-x4." 'gtags-find-tag-other-window)
(if gtags-disable-pushy-mouse-mapping nil
(define-key gtags-mode-map [mouse-3] 'gtags-pop-stack)
(define-key gtags-mode-map [mouse-2] 'gtags-find-tag-by-event)))
)
4. 搜索
用gtags-find-tag搜索时,可以用^main,来搜索包含main的,但不会搜索出如remain这样的字符串,如果不用这回搜索出remain这样的字符串,这里的^应该表示搜索以main开头的单词;同样也可以用$;
各种代码浏览工具:Comparison with Similar Tools
文档地址:http://www.gnu.org/software/global/globaldoc.html, 包含命令行,emacs,vim 下如何使用等。
- GNU GLOBAL 笔记
- gnu-global
- GNU Global 教程
- GNU global+ggtags
- Ubuntu 安装 GNU global
- emacs use Gnu GLOBAL system
- vim中使用GNU Global
- GNU Global 代码索引工具
- GNU GLOBAL (gtags) 的常规使用
- GNU GLOBAL source code tag system
- 让Gnu Global 搜索其它头文件
- emacs和gnu global,搜索利器
- Gnu Global, the programmer’s friend
- Gnu Global 识别C++头文件
- Ubuntu 16.04安装使用GNU GLOBAL
- GNU GLOBAL Source Code Tag System浏览源码,很方便
- linux源码阅读利器-GNU GLOBAL Source Code Tag System
- 源码阅读利器-GNU GLOBAL Source Code Tag System
- AIX系统日志学习笔记之一
- 遍历json获得数据的几种方法
- POJ 2081 Recaman's Sequence(我的水题之路——空间换时间)
- CTEX生成中文PDF的问题
- 大小端问题
- GNU GLOBAL 笔记
- 设计模式-OOD的设计原则(3)-"依赖倒转原则"
- if导致的bug
- linux su命令参数及用法详解--linux切换用户命令
- E: Sub-process /usr/bin/dpkg returned an error code (1) 出错解决方案
- javascript 传值特殊符号 escape and unescape
- 解决Mac OS下Eclipse能运行却找不到JRE的问题
- STL学习系列之三——list序列容器
- 设计模式-OOD的设计原则(4)-"接口隔离原则"