Emacs c/c++环境(centos6.4)

文档说明

“#”:表示在“管理权限”下安装:

# rpm –ivh ./epel-release-5-4.noarch.rpm

 

注意:

    

1.     在“段落”中选择缩进1个字符-对称缩进

2.     字体选择等宽的字体:如微软雅黑

3.     本版本是在CentOS上面修改,因为工作需要所以直接在Ubuntu版本上修改但是所有步骤都从新测试,不同点:
Ubuntulyb@daniel:~$
CentOS
[lyb@daniel:~$]
自己做区分

 

  

安装或修改过程描述

时间

记录人

修改了Ubuntu(参见自己当时记录的版本网上有)下的mkdir -p ~/.emacs.d/plugins

mkdir -p ~/.emacs.d/plugins

 

 

 

 

一、  目录结构

目录布局如下:

mkdir ~/.emacs

mkdir -p ~/.emacs.d/emacspluginss

说明:

1.     .emacs: 配置文件

2.     emacspluginss: 安装的插件目录

 

二、  软件版本及其安装:

1.             Emacs

1)    安装

lyb@daniel:~$ sudo yum install emacs

2)    查看版本

[lyb@daniel ~]$ rpm -qa | grep emacs

emacs-common-23.1-21.el6_2.3.i686

emacs-23.1-21.el6_2.3.i686

3)    准备emacs工作目录

lyb@daniel:~$ touch ~/.emacs

lyb@daniel:~$ mkdir ~/.emacs.d

lyb@daniel:~$ mkdir ~/.emacs.d/plugins

4)    配置.emacs

把建立的plugins加到.emacs的启动目录:

(add-to-list'load-path "~/.emacs.d/plugins")

 

 

2.             CEDET

1)  下载cedet-1.1.tar.gz(略)
2)    安装

lyb@daniel:~$tar –zxvf cedet-1.1.tar.gz

lyb@daniel:~$cp -r cedet-1.1 ~/.emacs.d/plugins/

3)    编译cedet

lyb@daniel:~$cd /home/lyb/.emacs.d/plugins/cedet-1.1

lyb@daniel:~/.emacs.d/plugins/cedet-1.1$ emacs -Q -l cedet-build.el -f cedet-build

注意:一般有部分Warning,中间需要提示是否创建srecode目录,选y。看到Done后,编译完成。

4)    配置.emacs

在.emacs配置文件中添加如下代码:

(load-file “~/.emacs.d/plugins/cedet-1.1/common/cedet.el”)

(semantic-load-enable-excessive-code-helpers)

(global-ede-modet)

(require'semantic-ia)

(require'semantic-gcc)

(global-srecode-minor-mode1)

 

3.             ECB

1)  下载ecb-2.40.zip(略)
2)    安装

lyb@daniel:~$unzip ecb-2.40.zip

lyb@daniel:~$cp -r ecb-2.40 ~/.emacs.d/plugins/

3)    配置.emacs

在.emacs配置文件中添加如下代码:

(add-to-list 'load-path “~/.emacs.d/plugins/ecb-2.40/”)

(require 'ecb)

(ecb-activate)

4)    编译

启动emacs,然后编译ECB:

M-x ecb-byte-compile

5)    问题解决

如果启动emacs出现如下错误:

Warning (initialization): An error occurred while loading`/home/lyb/.emacs':

error: ECB 2.40 - Error: ECB can only be used with cedet [1.0pre6, 1.0.9]!Please install it and restart Emacs!

To ensure normal operation, you should investigate and remove the

cause of the error in your initialization file.  Start Emacs with

the `--debug-init' option to view a complete error backtrace.

解决方法如下:

lyb@daniel:~ $cd ~/.emacs.d/plugins/ecb-2.40

lyb@daniel:~/.emacs.d/plugins/ecb-2.40$ viecb-upgrade.el

把1146行的(1 0 4 9) 改为(1 1 4 9)

启动emacs,如果错误还存在,调整cedet和ecb代码段在.emacs中的位置

 

6)    布局查看

安装的cedet和ecb的布局如下查看当前目录布局

lyb@daniel:~/.emacs.d/plugins$ pwd

/home/lyb/.emacs.d/plugins

lyb@daniel:~/.emacs.d/plugins$ tree -L 1

.

├── cedet-1.1

└── ecb-2.4

4.             Cscope

1)  下载cscope-15.8a.tar.gz(略)
2)    安装

lyb@daniel:~/emacsplugins$ tar -zxvfcscope-15.8a.tar.gz

lyb@daniel:~/emacsplugins$ cd cscope-15.8a/

lyb@daniel:~/emacsplugins/cscope-15.8a$./configure --prefix=/usr

lyb@daniel:~/emacsplugins/cscope-15.8a$ sudo make

lyb@daniel:~/emacsplugins/cscope-15.8a$ sudo makeinstall

3)    配置emacs

在emacs中加入:

(require 'xcscope)

4)    问题解决

如果make出现”curses.hnot found”之类的错误

lyb@daniel:~/emacsplugins/cscope-15.8a$ yuminstall ncurses-devel ncurses

此时make如果还是出现问题,重新configure然后再make,或者sudo make

make后出现:

[lyb@daniel xcscope]$ tree

.

├── cscope-indexer

└── xcscope.el

到此为止cscope已经安装

l 把cscope的emacs插件放到指定目录:

lyb@daniel:~/emacsplugins/cscope-15.8a$
cp ./contrib/xcscope/xcscope.el ~/.emacs.d/plugins/

l 把cscope-indexer放到/usr/bin目录下或者加入$PATH:

lyb@daniel xcscope$ sudo cp ./cscope-indexer/usr/bin

5.             color-theme

1)  下载color-theme-6.6.0.tar.gz(略)
2)    安装

lyb@daniel:~/emacsplugins$ tar -zxvfcolor-theme-6.6.0.tar.gz

lyb@daniel:~/emacsplugins$ cp -r color-theme-6.6.0~/.emacs.d/plugins/

3)    配置.emacs文件

(add-to-list'load-path “~/.emacs.d/plugins/color-theme-6.6.0/”)

(require 'color-theme)

(color-theme-initialize)

(color-theme-charcoal-black)

6.             yasnippet

1)  下载yasnippet-0.6.1b.tar.bz2(略)
2)    安装

lyb@daniel:~/emacsplugins$ tar -jxvfyasnippet-0.6.1b.tar.bz2

lyb@daniel:~/emacsplugins$ cp -r yasnippet-0.6.1b~/.emacs.d/plugins/

3)    配置.emacs

(add-to-list'load-path “~/.emacs.d/plugins/yasnippet-0.6.1b”)

(require'yasnippet)

(yas/initialize)

(yas/load-directory“~/.emacs.d/plugins/yasnippet-0.6.1b/snippets”)

7.             窗口切换

1)  下载switch-window.el(略)
2)    安装

lyb@daniel:~/emacsplugins$ cp switch-window.el~/.emacs.d/plugins/

3)    配置.emacs

(require'switch-window)

4)    功能图(C-x o)

 

8.             自动补齐软件列表

a)      auto-complete-1.3.1.tar.bz2

http://cx4a.org/software/auto-complete/index.html#Latest_Stable

b)      CLang

http://elrepo.org/linux/elrepo/el6/i386/RPMS/elrepo-release-6-4.el6.elrepo.noarch.rpm

c)       auto-complete-clang

https://github.com/brianjcj/auto-complete-clang

5)    安装过程
a)     安装auto-complete-1.3.1.tar.bz2

Ø   安装

lyb@daniel:~/emacsplugins$ tar -jxvf auto-complete-1.3.1.tar.bz2

lyb@daniel:~/emacsplugins$ cd auto-complete-1.3.1

lyb@daniel:~/emacsplugins$ make

lyb@daniel:~/emacsplugins$ cd ..

lyb@daniel:~/emacsplugins$ cp -rauto-complete-1.3.1 ~/.emacs.d/plugins/

Ø   配置

(add-to-list'load-path “~/.emacs.d/plugins/auto-complete-1.3.1”)

(require'auto-complete-config)

(add-to-list'ac-dictionary-directories “~/.emacs.d/plugins/auto-complete-1.3.1/ac-dict”)

(ac-config-default)

(global-auto-complete-mode1)

(setqac-use-menu-map t)

(setqac-auto-start 2)

(setqac-auto-show-menu 0.8)

(setq ac-dwimt)

 

b)  安装CLang

直接yum安装找不到该包,Clang不在yum源里面,通过下面方式进行:

i.             下载

ii.             安装源

lyb@daniel:~/emacsplugins$ sudorpm -Uvh elrepo-release*rpm

iii.             安装clang

lyb@daniel:~/emacsplugins$ sudo yum--enablerepo=elrepo-extras install clang

 

c)       安装auto-complete-clang

Ø 下载auto-complete-clang.el(略)

lyb@daniel:~/emacsplugins$ cpauto-complete-clang.el ~/.emacs.d/plugins/

Ø 配置

(require'auto-complete-clang) 

(setqac-clang-auto-save t) 

(setqac-auto-start t) 

(setq ac-quick-help-delay0.5) 

;; (ac-set-trigger-key“TAB”) 

;; (define-keyac-mode-map  [(control tab)]'auto-complete) 

(define-keyac-mode-map  [(control tab)]'auto-complete) 

(defunmy-ac-config () 

  (setq ac-clang-flags 

                    (mapcar(lambda (item)(concat“-I” item)) 

                                   (split-string 

                                            “  

/usr/lib/gcc/i686-redhat-linux/4.4.7/../../../../include/c++/4.4.7

 /usr/lib/gcc/i686-redhat-linux/4.4.7/../../../../include/c++/4.4.7/i686-redhat-linux

 /usr/lib/gcc/i686-redhat-linux/4.4.7/../../../../include/c++/4.4.7/backward

 /usr/local/include

 /usr/lib/gcc/i686-redhat-linux/4.4.7/include

 /usr/include

    “))) 

  (setq-default ac-sources '(ac-source-abbrevac-source-dictionary ac-source-words-in-same-mode-buffers)) 

  (add-hook 'emacs-lisp-mode-hook'ac-emacs-lisp-mode-setup) 

  ;; (add-hook 'c-mode-common-hook'ac-cc-mode-setup) 

  (add-hook 'ruby-mode-hook'ac-ruby-mode-setup) 

  (add-hook 'css-mode-hook'ac-css-mode-setup) 

  (add-hook 'auto-complete-mode-hook'ac-common-setup) 

  (global-auto-complete-mode t)) 

(defunmy-ac-cc-mode-setup () 

  (setq ac-sources (append '(ac-source-clangac-source-yasnippet) ac-sources))) 

(add-hook'c-mode-common-hook 'my-ac-cc-mode-setup) 

;;ac-source-gtags 

(my-ac-config)

上面红色加粗的部分可通通过如下命令在任意路径下执行获得:

lyb@daniel:~/emacsplugins$ echo ““ | g++ -v -x c++-E -

输出如下,

 

把图中的选中的部分替换上面配置中红色标记的部分,重启emacs,完成安装。

Ø 功能图


 

 

9.             高亮

1)  下载highlight-symbol.el(略)
2)    安装

lyb@daniel:~/emacsplugins$ cp highlight-symbol.el~/.emacs.d/plugins/

3)    配置.emacs

(require 'highlight-symbol)

(global-set-key[(control f3)] 'highlight-symbol-at-point)

(global-set-key[f3] 'highlight-symbol-next)

(global-set-key[(shift f3)] 'highlight-symbol-prev)

(global-set-key[(meta f3)] 'highlight-symbol-prev)

10.       tabbar

1)  下载tabbar.el
2)    安装

lyb@daniel:~/emacsplugins$ cp tabbar.el~/.emacs.d/plugins/

3)    配置

(require'tabbar)

(tabbar-mode 1)

 

11.       session和desktop

1)  下载session-2.3a.tar.gz
2)    安装

lyb@daniel:~/emacsplugins/session/lisp$ cpsession.el ~/.emacs.d/plugins/

3)    配置

(require'session)

(add-hook'after-init-hook 'session-initialize)

 

(load “desktop”);;系统已经自带

(desktop-load-default)

(desktop-save-mode1)

(setq-defaultdesktop-load-locked-desktop t);;解决pid错误问题

12.       doxymacs

1)  下载doxymacs-1.8.0
2)    安装

lyb@daniel:~/emacsplugins/$ cd doxymacs-1.8.0/

lyb@daniel:~/emacsplugins/doxymacs-1.8.0$./configure

lyb@daniel:~/emacsplugins/doxymacs-1.8.0$ make

lyb@daniel:~/emacsplugins$cp -r doxymacs-1.8.0 ~/.emacs.d/plugins/

3)    配置

(add-to-list'load-path “~/.emacs.d/plugins/doxymacs-1.8.0/lisp/”)

(require'doxymacs)

(doxymacs-mode)

(defunmy-doxymacs-font-lock-hook ()

  (if (or (eq major-mode 'c-mode) (eqmajor-mode 'c++-mode))

          (doxymacs-font-lock)))

(add-hook'font-lock-mode-hook 'my-doxymacs-font-lock-hook)

(setqdoxymacs-doxygen-style “C++”)

(add-hook'c++-mode-common-hook 'doxymacs-mode)

(add-hook'c++-mode-common-hook 'doxymacs-mode)

 

13.       MultiTerm

1)  下载multi-term.el
2)    安装

lyb@daniel:~/emacsplugins$cp multi-term.el ~/.emacs.d/plugins/

3)    配置

(require'multi-term)

(setqmulti-term-program “/bin/bash”)

(setqmulti-term-buffer-name “term”)

(global-set-key“\C-x.” 'multi-term)

(global-set-key“\C-x,”'multi-term-dedicated-open)

14.       EAssist

1)  下载    
2)    安装

lyb@daniel:~/emacsplugins$ cp eassist.el~/.emacs.d/plugins/

 

3)    配置

(require'eassist)

(defunmy-c-mode-common-hook ()

  (define-key c-mode-base-map (kbd “M-o”)'eassist-switch-h-cpp)

  (define-key c-mode-base-map (kbd “M-m”)'eassist-list-methods))

(add-hook'c-mode-common-hook 'my-c-mode-common-hook)

15.       sourcepair

1)  下载sourcepair.el
2)    安装

lyb@daniel:~/emacsplugins$ cp sourcepair.el~/.emacs.d/plugins/

3)    配置

(require'sourcepair)

(define-keyglobal-map “\C-xz” 'sourcepair-jump-to-headerfile)

(setqsourcepair-source-path    '( “.” “../*” “../../*”))

(setqsourcepair-header-path    '( “.” “include”“../include” “../*” “../../*”))

(setqsourcepair-recurse-ignore '( “.git”  “Debug”“Release” ))


 

所有资源下载链接:

auto-complete-1.3.1.tar.bz2
auto-complete-clang.el
c-1.8.0
cedet-1.1.tar.gz
color-theme-6.6.0.tar.gz
cscope-15.8a.tar.gz
eassist.el 
ecb-2.40.zip
highlight-symbol.el
multi-term.el
session-2.3a.tar.gz
sourcepair.el
switch-window.el
tabbar.el
yasnippet-0.6.1b.tar.bz2

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值