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

来源:互联网 发布:联通软件研究院 亦庄 编辑:程序博客网 时间:2024/05/29 15:04

Emacs配置成C++和LaTeX环境

半闲居士,2014.2

写在前面

开始做科研也有不少时间了,拜读过各种论坛上的大哥们的文章,受益匪浅。不禁感叹,这些写技术博客的人可真不容易,确实给我们新手入门带去了不少的帮助。于是自己也想动手做点贡献了。

我的科研工作主要是编写机器人上的程序,需要在Linux下面进行C++的开发。众所周知Linux下面不怎么用IDE,只要会弄vimEmacs就可以了。我最早接触的是Emacs,等到学会之后再想尝试一下vim发现自己确实是想多了,手克制不住地就往Emacs的快捷键上摆啊...所以干脆就一直用Emacs

我用Emacs基本只有两件事:编程和写论文。Emacs作为C++LaTeX的环境是相当棒的。在C++里你可以像在IDE里一样跳来跳去,各种补全,在LaTeX里你还可以自动插环境,写完公式之后能马上preview。总之是很爽的。今天给大家分享一下我的Emacs配置。我会详细地告诉读者们配置的方法。当然首先晒一下我的Emacs截图:左边四个是ECB的代码浏览窗口,右边是书写代码的窗口。



需要提到的是,配置文件主要参考了陈杨前辈的博客:http://www.cnblogs.com/karotte/archive/2012/06/06/emacs_ide.html

以及JamesChen的博客:http://blog.chinaunix.net/uid-26938778-id-3195015.html

在此感谢这两位前辈。因为本文主要讨论在Linux下的开发,就不讲Windows下怎么做了。当然你可以Windows下拿Emacs写论文,完全没问题的。用EmacsLaTeX的方法请参见这篇文章,很不错的: http://cs2.swfu.edu.cn/~wx672/lecture_notes/linux/latex/latex_tutorial.html

我的配置文件下载地址:http://pan.baidu.com/s/1qWoAKFy

第一步:安装Emacs及各种插件

Ubuntu默认是不带Emacs的,所以你需要自己安装它。直接apt-get即可:

sudo apt-get install emacs

这样装上的Emacsemacs23,用来开发和写论文是足够了。如果你想用它写LaTeX,请安装AucTeX,这个插件现在放在仓库里了,安装也很方便:

sudo apt-get install auctex

还要记得装好基本的TexLive1个多G,慢慢下吧):

sudo apt-get install texlive-full

然后,我们要下载与C++有关的几个插件。如果你下了我的配置文件,那这些插件就都在里面了。主要是这几个:

auto-complete自动补全神器
cedet 1.1 C
++代码管理工具,功能强大但速度较慢
color-theme Emacs
配色方案,从白色变为五颜六色
ecb
cedet基础上开发的插件,用于代码浏览
yasnippet
一样的自动补全
highlight symbol
语法高亮

几个次要的我就不列了。下面讲解一下基本配置方法。

第二步,设置.emacs

emacs的配置文件是在你用户主目录下的.emacs,你可以用gedit打开它:

gedit ~/.emacs

我的配置也写在里面,该划开的地方都划开了。如果你不用LaTeX,可以把相应的段落删掉。

我的插件放在~/.emacs.d/plugins/中,你会在那里看到一大堆东西,但是不要慌,需要你自己动手配置的其实不多。大多数你只要丢在那儿不管就可以了。在我的配置文件中,我把除cedet之外的插件都放在了.emacs.d/plugins下,而cedet单独列开了,需要你自己编译后拷进去。接下来我们依次要做:

编译cedet1.1

编译ecb

然后就万事大吉了。我还会提醒你一些小细节。我们来一步步地做:

  1. 编译cedet1.1

先转到你的下载目录的cedet-1.1下:

sudo make

基本不会出现问题。然后把整个cedet-1.1拷到~/.emacs.d/plugins/下:

cp -r cedet-1.1 ~/.emacs.d/plugins/

  1. 编译ecb

这一步一定要在编译cedet之后再做,不然是ecb没法编译的。一样的,先转到.emacs.d/plugins/ecb-2.40下。注意,这里的Makefile是要改一下的,请你自己修改:

gedit Makefile

CEDET=/home/y/.emacs.d/plugins/cedet-1.1这一行改成你的cedet插件所在的目录。其实只要改你的用户名就可以了,我的用户名叫y

然后就是:

sudo make

编译通过之后就没事了。(注:网上下载的ecb2.40cedet1.1有一个版本文件,在我的配置文件中已经改过来了。)

大功告成!但是还有一些细节...

恭喜你,如果你按照上述步骤做下来,这时你打开emacs后就会清楚地看到那个黑黑的界面了。接下来你可以试着写一个Helloworld.cpp试试,体验一下自己补全和跳转的功能。但我还有几个地方要提醒你:

  1. 很多时候你会用到第三方库,比如opencv什么的。你当然知道怎么安装这些库,但要实现补全和跳转,你需要在.emacs文件中配置一下。配置的地方在这里:

(defconst cedet-user-include-dirs

(list ".." "../include" "../.." "../../.." "../../include" "../../../inlcude" "../inc"

"../.." "../../include" "../../inc"

"/usr/include" "/usr/local/include" "usr/local/include/opencv2" "usr/local/include/opencv" "usr/local/include/g2o"))

(setq cedet-sys-include-dirs (list

"/usr/include" "/usr/local/include" "usr/local/include/opencv2" "usr/local/include/opencv" "usr/local/include/g2o"))

93行左右,这里是自动跳转的设置,把你要加的头文件所在目录放进去即可,也可以把我的删掉。

  1. 使用方法

使用方法最好是你自己去体验,我可以讲一个大概:

C-f4 或菜单中的tool->start ecb即可打开ecb; 开始ecb后可以按Alt(Meta)+方向键进行窗格的切换。

键入代码是会有阴影提示补全,你也可以按Tab键选择其中一种补全。

F12可以自动跳转到相关处,例如变量就会跳到它的定义处,include头文件的话会直接跳进该头文件,再按Shift+F12跳回来。但是最初开始的时候emacs会分析你系统里的头文件,导致程序停止响应一会儿,请耐心等待。

F8可以新开一个窗口运行shell命令。

其他的功能请自行体验吧。有问题欢迎提问。

0 0
原创粉丝点击