关闭

程序员的emacs配置大全(cedet+ecb+cscope+gdb-ui)-jzj

标签: emacssemantictoolsfeaturesdatabasesystem
11551人阅读 评论(5) 收藏 举报
分类:

本文主要讨论以下几方面的设置:
1.字体
2.cedet
3.ecb
4.cscope
4.gdb-many-window

环境:
openSUSE 10.2
默认装的是Emacs 21,我从网上下了Emacs 22.1的tar包,编译安装。

1.字体
    默认的字体非常之小,以下是一篇非常详细的Emacs下设置字体的教程,可惜太长了,长到我实在是懒得看。我抄了个现成的:
(set-default-font "-adobe-courier-medium-r-normal--14-100-100-100-m-90-iso10646-1")

2.cedet
   下载cedet: http://cedet.sourceforge.net/
按照INSTALL安装就行,然后设置.emacs。INSTALL里有一段关于设置的,粘贴过来即可,另外最好设一个speedbar的快捷键:
(global-set-key [(f4)] 'speedbar-get-focus)
这样按一个F4,speedbar就出来了。

3.ecb
    http://ecb.sourceforge.net/
.emacs里:
(add-to-list 'load-path "~/software/ecb-2.32")
;;(require 'ecb)
(require 'ecb-autoloads)
打开emacs,然后M-x ecb-activate即可打开ecb。

4.cscope
   这个应该和ecb的有些功能是重复的
先装好cscope,再把/cscope-15.6/contrib/xcscope目录下的xcscope.el加载到emacs中去:
(add-to-list 'load-path "~/software/cscope-15.6/contrib/xcscope")
(require 'xcscope)
这里有篇讲怎么在emacs下安装和使用cscope的:
http://ann77.stu.cdut.edu.cn/EmacsCscope.html

5.gdb-many-window
   这个功能插件可以使emacs的调试界面像VC一样,有watch, stacktrace等窗口,真正实现图形化gdb.
下载:
http://www.inet.net.nz/~nickrob/multi-gud.el
http://www.inet.net.nz/~nickrob/multi-gdb-ui.el
设置.emacs:
(load-library "multi-gud.el")
(load-library "multi-gdb-ui.el")
还不行的看详细官方教程:http://www.inet.net.nz/
一遍使用gdb-ui的教程:
http://blog.chinaunix.net/u/5958/showart_137996.html


另外:
Emacs安装一个扩展包的方法
http://ann77.stu.cdut.edu.cn/EmacsInstallPackege.html
一个比较全的.emacs配置文件:
http://www.cppblog.com/guangping/archive/2006/08/25/11683.html

附件:
我的.emacs(还没整理过,很乱,貌似还有快捷键重复的-_-|||)
(if (string-match "XEmacs//|Lucid" emacs-version)
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;; XEmacs
  ;;; ------
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (progn
     (if (file-readable-p "~/.xemacs/init.el")
        (load "~/.xemacs/init.el" nil t))
  )
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;; GNU-Emacs
  ;;; ---------
  ;;; load ~/.gnu-emacs or, if not exists /etc/skel/.gnu-emacs
  ;;; For a description and the settings see /etc/skel/.gnu-emacs
  ;;;   ... for your private ~/.gnu-emacs your are on your one.
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  (if (file-readable-p "~/.gnu-emacs")
      (load "~/.gnu-emacs" nil t)
    (if (file-readable-p "/etc/skel/.gnu-emacs")
 (load "/etc/skel/.gnu-emacs" nil t)))

  ;; Custum Settings
  ;; ===============
  ;; To avoid any trouble with the customization system of GNU emacs
  ;; we set the default file ~/.gnu-emacs-custom
  (setq custom-file "~/.gnu-emacs-custom")
  (load "~/.gnu-emacs-custom" t t)
;;;
)
;;;

(column-number-mode t)
(transient-mark-mode t)
(setq line-number-mode t)
(setq default-tab-width 8)

(customize-set-variable 'scroll-bar-mode' right)
;;(setq default-directory "home/jzj/backup/emacs/")
(setq inhibit-startup-message t)
(setq line-number-mode t)
(setq global-font-lock-mode t)
(setq make-backup-files nil)
(setq auto-save-mode nil)
(setq x-select-enable-clipboard t)
(setq mouse-yank-at-point t)
(global-set-key [home] 'beginning-of-buffer)

(global-set-key [end] 'end-of-buffer)
;;(global-set-key [f4] 'other-window)
(global-set-key [f5] 'compile)
(setq-default compile-command "make")
;;(global-set-key [f7] 'du-onekey-compile)
(global-set-key [f6] 'gdb)


(global-set-key [C-f7] 'previous-error)
(global-set-key [f7] 'next-error)

;;(set-default-font "9x15")
(set-default-font "-adobe-courier-medium-r-normal--14-100-100-100-m-90-iso10646-1")

;; Load CEDET
(load-file "~/software/cedet-1.0pre4/common/cedet.el")

;; Enabling various SEMANTIC minor modes.  See semantic/INSTALL for more ideas.
;; Select one of the following:

;; * This enables the database and idle reparse engines
(semantic-load-enable-minimum-features)

;; * This enables some tools useful for coding, such as summary mode
;;   imenu support, and the semantic navigator
(semantic-load-enable-code-helpers)

;; * This enables even more coding tools such as the nascent intellisense mode
;;   decoration mode, and stickyfunc mode (plus regular code helpers)
 (semantic-load-enable-guady-code-helpers)

;; * This turns on which-func support (Plus all other code helpers)
(semantic-load-enable-excessive-code-helpers)

;; This turns on modes that aid in grammar writing and semantic tool
;; development.  It does not enable any other features such as code
;; helpers above.
(semantic-load-enable-semantic-debugging-helpers)

(global-set-key [(f4)] 'speedbar-get-focus)

(require 'cc-mode)
(c-set-offset 'inline-open 0)
(c-set-offset 'friend '-)
(c-set-offset 'substatement-open 0)
(defun my-c-mode-common-hook()
  (setq tab-width 4 indent-tabs-mode nil)
  ;;; hungry-delete and auto-newline
  (c-toggle-auto-hungry-state 1)
 
  (define-key c-mode-base-map [(control /`)] 'hs-toggle-hiding)
 ;; (define-key c-mode-base-map [(return)] 'newline-and-indent)
;;  (define-key c-mode-base-map [(f6)] 'compile)
  (define-key c-mode-base-map [(meta /`)] 'c-indent-command)
;;  (define-key c-mode-base-map [(tab)] 'hippie-expand)
  (define-key c-mode-base-map [(tab)] 'my-indent-or-complete)
  (define-key c-mode-base-map [(meta ?/)] 'semantic-ia-complete-symbol-menu)
 
  (setq c-macro-shrink-window-flag t)
  (setq c-macro-preprocessor "cpp")
  (setq c-macro-cppflags " ")
  (setq c-macro-prompt-flag t)
  (setq hs-minor-mode t)
  (setq abbrev-mode t)
)
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)

(defun my-c++-mode-hook()
  (setq tab-width 4 indent-tabs-mode nil)
  (c-set-style "stroustrup")
;;  (define-key c++-mode-map [f3] 'replace-regexp)
)

(setq gdb-many-windows t)

(add-to-list 'load-path "~/backup/emacs")
(require 'gud)

(add-to-list 'load-path "~/software/ecb-2.32")
;;(require 'ecb)
(require 'ecb-autoloads)

;;for gdb-many-window mode
(load-library "multi-gud.el")
(load-library "multi-gdb-ui.el")

;; cscope in emacs
(add-to-list 'load-path "~/software/cscope-15.6/contrib/xcscope")
(require 'xcscope)

;; hotkey for cscope
(define-key global-map [(control f3)]  'cscope-set-initial-directory)
(define-key global-map [(control f4)]  'cscope-unset-initial-directory)
(define-key global-map [(control f5)]  'cscope-find-this-symbol)
(define-key global-map [(control f6)]  'cscope-find-global-definition)
(define-key global-map [(control f7)]
'cscope-find-global-definition-no-prompting)
(define-key global-map [(control f8)]  'cscope-pop-mark)
(define-key global-map [(control f9)]  'cscope-next-symbol)
(define-key global-map [(control f10)] 'cscope-next-file)
(define-key global-map [(control f11)] 'cscope-prev-symbol)
(define-key global-map [(control f12)] 'cscope-prev-file)
(define-key global-map [(meta f9)]  'cscope-display-buffer)
(define-key global-map [(meta f10)] 'cscope-display-buffer-toggle)
 

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

[笔记]Emacs笔记:一,Windows下配置Emacs来开发Python

Windows下配置Emacs来开发Python去年在网上偶然的一个机会知道了Emacs的存在,在周围前辈们都在夸赞Sublime好用的时候,喜欢跟大众唱反调的我,突然觉得如果能用Emacs来编代码,...
  • alfred_yr
  • alfred_yr
  • 2015-06-16 17:03
  • 529

emacs24 配置c++ 开发环境

emacs 配置c/c++开发环境笔记
  • xljiulong
  • xljiulong
  • 2016-04-25 20:48
  • 2813

[转]将Emacs配置成一个C/C++的IDE编程环境

1.写在前面          Linux下的编程,业界多数人士并不喜欢,尤其是习惯了在windows下编程的程序员,认为windows的IDE各种好,而linux下没有一个好 的IDE ,估计很多...
  • shqhope
  • shqhope
  • 2017-01-06 19:38
  • 696

Emacs常用快捷键

按键简称 C = Control M = Meta = Alt | Esc S = Shift Del = Backspace RET = Enter 文件 ...
  • GarfieldEr007
  • GarfieldEr007
  • 2015-11-01 13:08
  • 1290

emacs 字体配置

;; 方法一 能够执行(from:http://bugway.appspot.com/?p=945801) ;; overide the default changing font size bind...
  • fengzizhuang
  • fengzizhuang
  • 2013-07-27 10:20
  • 8550

mac下选择合适的emacs

之前在windows上和linux上都使用emacs,这两个平台上使用官方的安装包都还好,只是windows上有些东西安装不如linux上方便。开始用mac后,慢慢的习惯了后就基本上不再用window...
  • yiquanshui
  • yiquanshui
  • 2015-09-12 16:12
  • 2775

emacs配置详解及C/C++IDE全功能配置演示(附配置文件)

我的emacs插件下载地址: http://pan.baidu.com/share/link?shareid=4196458904&uk=3708780105 说明:           &#...
  • Kevin_Samuel
  • Kevin_Samuel
  • 2013-08-01 13:14
  • 13662

把Emacs配置成C++和LaTeX环境

把Emacs配置成C++和LaTeX环境 半闲居士,2014.2 写在前面 开始做科研也有不少时间了,拜读过各种论坛上的大哥们的文章,受益匪浅。不禁感叹,这些写技术博客的人可真不容易...
  • u010703122
  • u010703122
  • 2015-10-23 16:12
  • 1082

Emacs 安装 clojure开发环境

安装CIDER模块还是比较简单的,就是用list-packages查找,找到CIDER后,安装。直接用官方文档的命令安装会失败,还是用上面的方式。使用middleware匹配版本在~/.lein/pr...
  • sheismylife
  • sheismylife
  • 2015-10-15 15:08
  • 1945

【积水成渊-逐步定制自己的Emacs神器】2:基本的定制Emacs

本文介绍了如何定制Emacs的外观和如何组织Emacs配置文件以做到“一处配置随处可用”。外观定制部分仅举个例子,包括:菜单栏、工具栏、滚动条、主题,重在讲解定制方法,读者一旦掌握定制的方法,就可以做...
  • elloop
  • elloop
  • 2016-02-29 08:21
  • 1506
    个人资料
    • 访问:1081527次
    • 积分:12986
    • 等级:
    • 排名:第1216名
    • 原创:196篇
    • 转载:109篇
    • 译文:1篇
    • 评论:448条
    文章分类
    文章存档