注册 登录
编程论坛 Linux教室

emacs 安装cedet问题

captain_leil 发布于 2012-05-06 23:52, 1772 次点击
#tar -zxf cedet-1.1.tar.gz
#cd cedet-1.1
#make



然后在.emacs加上了

;; Load CEDET.
;; See cedet/common/cedet.info for configuration details.
;; IMPORTANT: For Emacs >= 23.2, you must place this *before* any
;; CEDET component (including EIEIO) gets activated by another
;; package (Gnus, auth-source, ...).
(load-file "~/root/emacs/expand/cedet-1.1/common/cedet.el")

;; Enable EDE (Project Management) features
(global-ede-mode 1)

;; Enable EDE for a pre-existing C++ project
;; (ede-cpp-root-project "NAME" :file "~/myproject/Makefile")


;; Enabling Semantic (code-parsing, smart completion) features
;; 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 intellisense mode,
;; decoration mode, and stickyfunc mode (plus regular code helpers)
;; (semantic-load-enable-gaudy-code-helpers)

;; * This enables the use of Exuberant ctags if you have it installed.
;; If you use C++ templates or boost, you should NOT enable it.
;; (semantic-load-enable-all-exuberent-ctags-support)
;; Or, use one of these two types of support.
;; Add support for new languages only via ctags.
;; (semantic-load-enable-primary-exuberent-ctags-support)
;; Add support for using ctags as a backup parser.
;; (semantic-load-enable-secondary-exuberent-ctags-support)

;; Enable SRecode (Template management) minor-mode.
;; (global-srecode-minor-mode 1)
10 回复
#2
captain_leil2012-05-06 23:53
按以上步骤安装后,没有任何变化
开打emacs什么也没有

请教下
#3
pangding2012-05-07 20:50
你是头一次用吗?还是以前用过?
#4
zklhp2012-05-08 10:06
我记得cedet现在是内置的?
#5
captain_leil2012-05-09 11:50
以下是引用pangding在2012-5-7 20:50:54的发言:

你是头一次用吗?还是以前用过?


我刚刚开始用emacs

能讲详细一点么,谢谢
#6
captain_leil2012-05-09 11:51
以下是引用zklhp在2012-5-8 10:06:13的发言:

我记得cedet现在是内置的?


是有,不过我是23.1.1版本的,
#7
zklhp2012-05-09 14:37
你可以去专门讨论emacs的地方问问

我用emacs也就打打字 呵呵
#8
pangding2012-05-10 23:02
我倒是用 emacs,可惜不用它写程序。所以也没用过 cedet。
#9
zklhp2012-05-11 11:28
以下是引用pangding在2012-5-10 23:02:09的发言:

我倒是用 emacs,可惜不用它写程序。所以也没用过 cedet。

我也是。。

配置好了写程序很好 可惜配置太麻烦

大大不贴贴dotemacs让我们学习学习么
#10
pangding2012-05-13 09:44
我的 .emacs 里啥也没有,基本上就是用的默认配置,然后自己安装了一个五笔输入法。晒晒到是可以,但没啥可学的。
其实能在网上找到好多 emacs 的配置文件,还有很多达人讲解。我看了看,大部分的东西,对我来说都没什么用。
我主要是拿 emacs 当 shell 和用它看文档。用的比较多的是 dired, eshell, info, man, calender, calculator, org 这个几 major-mode。
哦。还有一个用得比较多的是拿 emacs 的 gdb-mode 调试程序。不过总的来说,我还是用 vim 用得更频繁。emacs 只是有规律的干固定的那么几件事。
(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(column-number-mode t)
 '(compilation-scroll-output (quote first-error))
 '(default-input-method "chinese-wubi")
 '(dired-dwim-target t)
 '(dired-listing-switches "-alh")
 '(display-time-format "%Y/%m/%d(%a) %H:%M")
 '(display-time-load-average-threshold 0.05)
 '(display-time-mode t)
 '(icomplete-mode t)
 '(inhibit-startup-screen t)
 '(make-backup-files nil)
 '(tool-bar-mode nil))
(custom-set-faces
  ;; custom-set-faces was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 )

(setq-default major-mode 'text-mode)
(add-hook 'text-mode-hook 'turn-on-auto-fill)

(global-set-key "\C-x\C-b" 'bs-show)
(global-set-key "\C-cc" 'calendar)
(global-set-key "\C-cf" 'find-dired)
(global-set-key [f9] 'bookmark-set)
(global-set-key [f10] 'bookmark-jump)

(fset 'yes-or-no-p 'y-or-n-p)

(add-to-list 'load-path "~/.emacs.d/wubi")
(require 'wubi)
(wubi-load-local-phrases) ; add user's Wubi phrases
(register-input-method
 "chinese-wubi" "Chinese-GB" 'quail-use-package
 "WuBi" "WuBi"
 "wubi")


 

[ 本帖最后由 pangding 于 2012-5-13 09:47 编辑 ]
#11
zklhp2012-05-13 20:39
以下是引用pangding在2012-5-13 09:44:46的发言:

我的 .emacs 里啥也没有,基本上就是用的默认配置,然后自己安装了一个五笔输入法。晒晒到是可以,但没啥可学的。
其实能在网上找到好多 emacs 的配置文件,还有很多达人讲解。我看了看,大部分的东西,对我来说都没什么用。
我主要是拿 emacs 当 shell 和用它看文档。用的比较多的是 dired, eshell, info, man, calender, calculator, org 这个几 major-mode。
哦。还有一个用得比较多的是拿 emacs 的 gdb-mode 调试程序。不过总的来说,我还是用 vim 用得更频繁。emacs 只是有规律的干固定的那么几件事。

 

程序代码:


;; By zklhp QQ 493165744 Email zklhp*At* 参考了无数的配置 不过也不全对 我的Emacs是24.0.92.1 平台是Windows XP
;; 亮点是中文用Hiragino Sans GB 英文用微软雅黑 算是混合字体罢 要使用这个配置要有这些字体 当然里面用的很多东西也得装啦
;; Hiragino Sans GB 不是等宽字体 对齐是个问题 所以用微软雅黑 auto-complete 会乱 必须换个字体
;; 本人小菜一个 如果发现问题或者能解决已知问题的方法欢迎提出来 谢谢~

;; 下面的是系统生成的 但在这里设置 Hiragino Sans GB 字体再打开就乱了 只能在下面设置了 不知道原因 是编码的问题?
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(TeX-PDF-mode t)
 '(TeX-engine (quote xetex))
 '(blink-cursor-mode nil)
 '(calculator-2s-complement t)
 '(calculator-number-digits 16)
 '(column-number-mode t)
 '(display-battery-mode t)
 '(display-time-24hr-format t)
 '(display-time-mode t)
 '(global-hl-line-mode t)
 '(global-hl-line-sticky-flag t)
 '(no-redraw-on-reenter t)
 '(org-export-html-footnote-format "<sup>[%s]</sup>")
 '(org-export-html-toplevel-hlevel 1)
 '(org-export-with-footnotes t)
 '(org-footnote-section "Footnotes:")
 '(org-footnote-tag-for-non-org-mode-files nil)
 '(preview-TeX-style-dir nil t)
 '(preview-default-document-pt 15.0)
 '(preview-fast-conversion nil)
 '(preview-gs-options (quote ("-q" "-dNOPAUSE" "-DNOPLATFONTS" "-dPrinted" "-dTextAlphaBits=4" "-dGraphicsAlphaBits=4")))
 '(preview-scale-function (quote preview-scale-from-face))
 '(send-mail-function (quote smtpmail-send-it))
 '(show-paren-mode t)
 '(size-indication-mode t)
 '(text-scale-mode-step 1.05)
 '(tool-bar-mode nil))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(default ((t (:inherit nil :stipple nil :background "gray91" :foreground "SystemWindowText" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight light :height 100 :width normal :foundry "outline" :family "Hiragino Sans GB"))))
 '(font-lock-comment-face ((t (:foreground "#008000"))))
 '(font-lock-keyword-face ((t (:foreground "Red" :weight bold))))
 '(hl-line ((t (:background "white"))))
 '(lazy-highlight ((((class color) (min-colors 88) (background light)) (:foreground "red" :weight bold))))
 '(linum ((t (:inherit (shadow default) :family "YaHei Consolas Hybrid"))))
 '(org-footnote ((t (:foreground "Purple"))))
 '(preview-face ((t nil)))
 '(region ((t (:background "#C0C0C0"))))
 '(show-paren-match ((((class color) (background light)) (:foreground "red" :weight bold)))))

;; 上面的都是用菜单配置的 配色效果可以看我传的图

;; 语法加亮
(setq global-font-lock-mode t)
;; 最大语法高亮
(setq font-lock-maximum-decoration t)
;; 不知道具体什么效果 行号模式 前面两个没用
;; (setq column-number-mode t)
;; (setq line-number-mode t)
;; 这句才好用
(global-linum-mode t)
;; 设置TAB宽度为4
;; (setq default-tab-width 4)
(setq tab-width 4)
;; (setq c-basic-indent 4)
;; 我习惯这样
(setq indent-tabs-mode nil)
;; 高亮显示区域选择
(setq transient-mark-mode t)
;; 鼠标选择不复制
(setq mouse-drag-copy-region nil)
;; 不用这个功能
(define-prefix-command 'ctl-z-map)
(global-set-key (kbd "C-z") 'ctl-z-map)
(global-set-key "r" (lambda() (interactive) (when (buffer-file-name) (revert-buffer buffer-file-name t))))
(global-set-key "" (lambda() (interactive) (when (buffer-file-name) (revert-buffer buffer-file-name t))))
;; F12就是C-z的功能 考虑把C-z绑定到其他功能 但是还没想好
;; (global-set-key [f12] 'suspend-frame)
;; 不响
(setq visible-bell t)
;; 不闪
(setq ring-bell-function 'ignore)
;; 习惯使然 光标形状
(setq-default cursor-type 'bar)
;; 更快显示我按的命令 看的到才放心
(setq suggest-key-bindings 0.1)
;; 颜色
;; (set-background-color "gray91")
;; (set-face-background 'highlight "white")
;; (set-face-background 'region "#C0C0C0")
;; 高亮当前行
;; (require 'hl-line)
(setq hl-line-mode t)
;; 禁止产生备份文件
(setq make-backup-files nil)
;; 始终在行尾
(setq track-eol t)
;; 显示buffer的名字
(setq frame-title-format "%b@Emacs")
;; 选择文字输入后自动替换 习惯啦
(delete-selection-mode)

(setq c-default-style
      '((c-mode . "k&r") (other . "gnu")))
(setq c-basic-offset 4)

;; Rect-mark 区块选择 抄的
;; Support for marking a rectangle of text with highlighting.
;; (load-file "~/site-lisp/rect-mark.el")
(define-key ctl-x-map "r\C-@" 'rm-set-mark)
(define-key ctl-x-map [?\r ?\C-\ ] 'rm-set-mark)
(define-key ctl-x-map "r\C-x" 'rm-exchange-point-and-mark)
(define-key ctl-x-map "r\C-w" 'rm-kill-region)
(define-key ctl-x-map "r\M-w" 'rm-kill-ring-save)
;; 改成 M-左键 是区域选择 貌似win里这个叫区块操作
;; (global-set-key [M-drag-mouse-1] nil)
(define-key global-map [M-drag-mouse-1] 'rm-mouse-drag-region)
(define-key global-map [M-down-mouse-1] 'rm-mouse-drag-region)
(autoload 'rm-set-mark "rect-mark"
  "Set mark for rectangle." t)
(autoload 'rm-exchange-point-and-mark "rect-mark"
  "Exchange point and mark for rectangle." t)
(autoload 'rm-kill-region "rect-mark"
  "Kill a rectangular region and save it in the kill ring." t)
(autoload 'rm-kill-ring-save "rect-mark"
  "Copy a rectangular region to the kill ring." t)
(autoload 'rm-mouse-drag-region "rect-mark"
  "Drag out a rectangular region with the mouse." t)

(global-set-key [(C-down-mouse-1)] (quote mouse-set-secondary))
(global-set-key [(C-drag-mouse-1)] (quote mouse-set-secondary))

(global-set-key [C-wheel-down] 'text-scale-decrease)
(global-set-key [C-wheel-up] 'text-scale-increase)

;; 加一个Shift+空格作为设定标记
(global-set-key (kbd "S-SPC") (quote set-mark-command))

;; 自动对一行操作 抄的
;; Smart copy, if no region active, it simply copy the current whole line
;; (ad-unadvise 'kill-line)
(defadvice kill-line (before check-position activate)
  (if (member major-mode
          '(emacs-lisp-mode scheme-mode lisp-mode
                c-mode c++-mode objc-mode js-mode
                latex-mode plain-tex-mode))
      (if (and (eolp) (not (bolp)))
      (progn (forward-char 1)
         (just-one-space 0)
         (backward-char 1)))))

;; (ad-unadvise 'kill-ring-save)
(defadvice kill-ring-save (before slick-copy activate compile)
  "When called interactively with no active region, copy a single line instead."
  (interactive (if mark-active (list (region-beginning) (region-end))
                 (message "Copied line")
                 (list (line-beginning-position)
                       (line-beginning-position 2)))))

;; (ad-unadvise 'kill-region)
(defadvice kill-region (before slick-cut activate compile)
  "When called interactively with no active region, kill a single line instead."
  (interactive (if mark-active (list (region-beginning) (region-end))
                 (message "Cut line")
                 (list (line-beginning-position)
                       (line-beginning-position 2)))))

;; auto-complete的配置
;; !!!请根据情况写!!!
(add-to-list 'load-path "~/site-lisp/auto-complete")
(require 'auto-complete-config)
;; !!!请根据情况写!!!
(ac-config-default)
(add-to-list 'ac-dictionary-directories "~/site-lisp/auto-complete/ac-dict")

;; 两个字母开始
(setq ac-auto-start 2)
;; 10行
(setq ac-menu-height 10)

;; 根据文档能防止乱(?) 貌似不管用
;; (setq popup-use-optimized-column-computation nil)

;; 改了这个auto-complete就不会乱了 撒花。。
(set-face-font 'ac-candidate-face "YaHei Consolas Hybrid")
(set-face-font 'ac-selection-face "YaHei Consolas Hybrid")

;; 下面是我用auto-complete实现的一个字典补全 第一次比较慢 不过优点是可以比较方便的自定义
;; 放在配置里还不错 但单独弄我就没这个水平了 呵呵
(require 'auto-complete)
(defun ac-english-candidates ()
  (apply 'append
     (mapcar 'ac-read-file-dictionary '("~/site-lisp/auto-complete/ac-dict/englishwords/web2"
                        ;; "~/site-lisp/auto-complete/ac-dict/englishwords/web2a"
                        "~/site-lisp/auto-complete/ac-dict/englishwords/dict"))))

(ac-define-source english-words
  '((candidates . ac-english-candidates)
    (cache . t)
    (symbol . "D")
    ))

;; 撒花 根据词典补全英语
(global-set-key (kbd "C-M-/") 'ac-complete-english-words)

;; 特定模式补全
;; (add-to-list 'ac-modes 'text-mode)
;; (add-to-list 'ac-modes 'org-mode)

;; 拼写检查
;; !!请根据实际目录填!!!
;; (add-to-list 'exec-path "D:/Aspell/bin")
;; (setq ispell-process-directory "D:/Aspell/bin")
(setq ispell-program-name "aspell")
(setq ispell-local-dictionary "american")
;; (setq-default ispell-dictionary "D:\\Aspell")
;; (setq-default ispell-local-dictionary "american")
;; (setq ispell-local-dictionary "D:\\Aspell\\dict\\en-only.rws")

;; 这个感觉能装满1280X800的屏幕了
(setq initial-frame-alist '((top . 0) (left . 0) (width . 1280) (height . 768)))

;;  纠正org-mode的换号问题
(add-hook 'org-mode-hook
      (lambda ()(setq truncate-lines nil)))

;; 语法缩进线
;; (require 'aux-line)
;; (indent-vline-fixed)

(add-to-list 'load-path
             "~/site-lisp/site-start.d")
;; (load "AucTeX.el" nil t t)
;; (load "preview-latex.el" nil t t)
;; (set-default preview-image-type 'png)
(if (string-equal system-type "windows-nt")
    (require 'tex-mik))
(mapc (lambda (mode)
    (add-hook 'LaTeX-mode-hook mode))
      (list 'auto-fill-mode
            'LaTeX-math-mode
            'turn-on-reftex))
            ;; 'linum-mode))

;; 不立即刷新试试
(setq redisplay-dont-pause nil)

;; 屏保 不好用
;; (require 'zone)
;; (require 'zone-settings)

(add-to-list 'load-path "~/site-lisp/emacs-w3m")
(autoload 'w3m "w3m" "Interface for w3m on Emacs." t)
(autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t)
(autoload 'w3m-search "w3m-search" "Search words using emacs-w3m." t)
(setq w3m-use-favicon nil)
(setq w3m-command-arguments '("-cookie" "-F"))
(setq w3m-use-cookies t)
(setq w3m-home-page "http://www.baidu.com")
;; 不好用
;; (require 'w3m)
;; (require 'w3m-lnum)
;; (setq w3m-default-display-inline-image t)

;; 中文字体 不需要这样了
;; (set-fontset-font "fontset-default" 'han '("Hiragino Sans GB" . "unicode-bmp"))
;; (set-fontset-font "fontset-default" 'unicode '("Hiragino Sans GB" . "unicode-bmp"))

;; 貌似会被后面的那个覆盖
;; (set-frame-font "Hiragino Sans GB 13")

;; 来自一个普雷斯顿网站上找到的网页的配置。。
;; Setting English Font
(set-face-attribute
 'default nil :font "YaHei Consolas Hybrid 10")

;; Chinese Font
(dolist (charset '(kana han symbol cjk-misc bopomofo))
  (set-fontset-font (frame-parameter nil 'font)
            charset
            (font-spec :family "Hiragino Sans GB")))

;; 这样设置就好了 不错。。
;; 而且解决了新建窗口乱码的问题 我发现这样写就好了 C-x 5 2 不乱码了
;; (setq default-frame-alist
;;       (append
;;        '((font . "Hiragino Sans GB 13")) default-frame-alist))


;; 启动最大化
(defun w32-restore-frame ()
  "Restore a minimized frame"
  (interactive)
  (w32-send-sys-command 61728))

(defun w32-maximize-frame ()
  "Maximize the current frame"
  (interactive)
  (set-frame-width (selected-frame) 1280)
  (set-frame-height (selected-frame) 768)
  (w32-send-sys-command 61488))

;; Emacs是个操作系统 应该是服务模式好~
(server-mode)
(w32-maximize-frame)
(add-hook 'after-make-frame-functions 'w32-maximize-frame)





我的。。。
1