~/emacsConfig/gtags-setting.el

 (if (eq system-type 'darwin)
(add-to-list 'load-path "/usr/local/Cellar/global/6.2.9/share/gtags")
) (require 'gtags) (add-hook 'c-mode-common-hook 'gtags-mode)
(add-hook 'c++-mode-common-hook 'gtags-mode)
(add-hook 'java-mode-common-hook 'gtags-mode)
(add-hook 'gtags-select-mode-hook
'(lambda ()
(setq hl-line-face 'underline)
(hl-line-mode ))) (defvar gtags-src-dir nil)
(defvar gtags-saved-tagfile-dir nil)
(defvar gtags-language-suffix nil) (setq gtags-suggested-key-mapping t) (defun gtags-update ()
"Make GTAGS incremental update"
(if
(null gtags-src-dir)
(message "no tags updated for gtags")
(with-temp-buffer
(shell-command
(concat "cd " gtags-src-dir ";" "global " "-u")
(buffer-name))
)
)
) (defun gtags-update-hook ()
(gtags-update)
) (add-hook 'after-save-hook 'gtags-update-hook) ;gtags生成函数
(defun generate-gtags ()
"Generate gtag tables."
(interactive)
(let
(
(language-suffix "")
(src-dir "")
(saved-tag-dir "")
) (setq src-dir
(read-from-minibuffer "source directory for gtags:") language-suffix
(read-from-minibuffer "suffix:") saved-tag-dir
(read-from-minibuffer "gtags saved path:")
)
;设置全局变量保存起来
(setf gtags-src-dir src-dir)
(setf gtags-language-suffix language-suffix)
(setf gtags-saved-tagfile-dir saved-tag-dir) (with-temp-buffer
(shell-command
(concat "mkdir -p" " " gtags-saved-tagfile-dir " " "2>/dev/null;" "cd " gtags-src-dir ";" "find" " " gtags-src-dir " -name \"" gtags-language-suffix "\" | gtags" " " gtags-saved-tagfile-dir)
(buffer-name))))) ;加载gtags
(defalias 'load-gtags 'gtags-visit-rootdir) ;光return键在vim模式下不起作用,所以绑定的键是alt+回车
(define-key gtags-select-mode-map [(meta return)] 'gtags-select-tag)
(define-key gtags-select-mode-map [mouse-] 'gtags-select-tag) ;查找变量引用:gtags-find-symbol
;查找函数引用:gtags-find-rtag
(global-set-key (kbd "C-x v") 'gtags-find-symbol)
(global-set-key (kbd "C-x f") 'gtags-find-rtag)

emacs之配置gtags的更多相关文章

  1. [daily][emacs][go] 配置emacs go-mode的编辑环境以及环境变量问题

    1. 安装go 安装go-mode 使用emacs编辑go代码的时候,你需要有正常可运行的go环境. 并且有emacs的go-mode package https://www.emacswiki.or ...

  2. Emacs 安装配置使用教程

    Emacs 安装配置使用教程 来源 https://www.jianshu.com/u/a27b97f900f7 序|Preface 先来一篇有趣的简介:Emacs和Vim:神的编辑器和编辑器之神 - ...

  3. emacs之配置自动安装脚本

    emacsConfig下建立install目录,结构大概这样 . ├── auto-complete-etags-setting.el ├── auto-complete-setting.el ├── ...

  4. ubuntu14.04 下emacs 24 配置

    目的: 配置emacs 24 适合编程开发 主要参考JerryZhang的配置(Emacs 简易教程) http://www.perfect-is-shit.com/emacs-simple-tuto ...

  5. Emacs golang 配置

    在配置前需要下载用到的包: godoc godef gocode oracle 在下载包之前需要设置好环境变量: # Golang export GOROOT=$HOME/go export GOPA ...

  6. CentOS编译安装emacs并配置

    Liunxs中CentOS系列一向以稳定为目标,然而也会存在版本太旧的问题,emacs就是其中的一个,目前emacs都发行到25.2了,而CentOS上的emacs版本却还是23.1.所以需要下载源代 ...

  7. Emacs编辑器配置

    以前总是用的vim编辑器,今天突然想换emacs 用下.折腾了很久终于搞定.使用的是windows测试环境 emacs下载地址http://ftp.gnu.org/gnu/emacs/windows/ ...

  8. Emacs考场配置

    当年\(NOip\)考场配置不记得啦 存在这里搞事情 (set-background-color "gray15") (set-foreground-color "gra ...

  9. 我的emacs考场配置

    豪华配置(复制的神犇的,已膜改) (global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key ...

随机推荐

  1. 实验三 敏捷开发与XP实践20145204和20145236

    实验三 敏捷开发与XP实践20145204和20145236 实验名称 敏捷开发与XP实践 实验内容 XP基础 XP核心实践 学会使用git 学会代码的重构 实现团队合作 团队分工 20145204: ...

  2. 简单方法实现无刷新提交Form表单

    前几天遇到一个前端的问题.我希望提交表单后页面不跳转且不刷新当前页面,然而查了很多方法都没有解决. 由于Form 是提交后一定刷新页面的,所以我们可以用一个折中的办法.我们给Form 指定一个ifra ...

  3. Hadoop运维手记

    1.处理hadoop的namenode宕机 处理措施:进入hadoop的bin目录,重启namenode服务 操作命令:cd path/to/hadoop/bin ./hadoop-daemon.sh ...

  4. 如何让.gitignore文件生效

    改动过.gitignore文件之后,在repo的根目录下运行 # 先将当前仓库的文件的暂存区中剔除 git rm -r --cached . # 再添加所有的文件到暂存区,这时.gitignore文件 ...

  5. 【Rest】在Dubbo中开发REST风格的远程调用(RESTful Remoting)

    目录 概述 REST的优点 应用场景 快速入门 标准Java REST API:JAX-RS简介 REST服务提供端详解 HTTP POST/GET的实现 Annotation放在接口类还是实现类 J ...

  6. [微信开发] - UnionID以及微信开放平台

  7. shell 变量赋值运算

    .变量赋值: name=lbg 等号前后不能有空格 name="Lebron James" 变量值中有空格要用双引号 echo ${name} 用${}更保险 shopt -s - ...

  8. 远程使用tomcat8的首页的管理工具

    1.在%Tomcat_Home%/conf/Catalina/localhost中新建manager.xml,内容如下 <Context privileged="true" ...

  9. UVA-10305 Ordering Tasks (拓扑排序)

    题目大意:给出n个点,m条关系,按关系的从小到大排序. 题目分析:拓扑排序的模板题,套模板. kahn算法: 伪代码: Kahn算法: 摘一段维基百科上关于Kahn算法的伪码描述: L← Empty ...

  10. 解决IE6中img标签 图片透明

    <!--[if IE 6]> <script type="text/javascript"> function correctPNG() { for (va ...