1.下载源码

去这里http://mirrors.ustc.edu.cn/gnu/emacs/。下载emacs-24.2.tar.gz,然后解压到/user/local/lib文件夹下面。


2.安装第三方库

sudo apt-get install libgtk2.0-dev sudo apt-get install libxpm-dev sudo apt-get install libjpeg62-dev sudo apt-get install libgif-dev sudo apt-get install libtiff4-dev

3.编译,安装

Terminal进入emacs解压后的文件夹

./configure

没问题。

make

报错:

错误:expected unqualified-id before ‘(’ token

原因是一个头文件里面的声明冲突。

sudo gedit /usr/local/include/jmorecfg.h

 把260行周围的代码改成这样:

#ifdef HAVE_BOOLEAN 	#ifndef FALSE			/* in case these macros already exist */ 		#define FALSE	0		/* values of boolean */ 	#endif  	#ifndef TRUE 		#define TRUE	1 	#endif #else 	typedef enum {false=0, true=1} boolean; #endif

再make一遍,成功!

最后运行

make install


4.配置文件

网上找到的一个配置文件,自己稍微改了一下

;; Tanky Woo's .emacs ;; Date: 2011.11.6 ;; Blog: www.WuTianQi.com ;;   ;; setnu.el的启动 ;; M-x setnu-mode ;; 没有linum.el好用,所以注视掉了~~ ;; (require 'setnu) ;; (setnu-mode t)   ;; linum.el的启动 ;; M-x linum-mode ;; 启动自动显示行数 (require 'linum) (setq linum-mode t) (global-linum-mode 1)   ;; 如果你要手工选背景色,可以使用 (set-cursor-color "white") (set-mouse-color "white") (set-foreground-color "white") (set-background-color "black")   ;; color-theme.el ;; 配色 ;; M-x color-theme-select (add-to-list 'load-path "~/themes") (require 'color-theme) (setq color-theme-is-global t) (color-theme-initialize) (color-theme-tango)   ;;在mode-line显示列号 (setq column-number-mode t) (setq line-number-mode t)   ;; 设置字体是Bitstream Vera Sans Moni ;; font-size是11,因为笔记本12寸,所以字体不敢弄太大 ;; yum install bitstream-vera-sans-mono-fonts.noarch (set-default-font "Bitstream Vera Sans Mono-11")   ;; 支持emacs和外部程序的粘贴 (setq x-select-enable-clipboard t)   ;; 在mode-line显示时间,格式如下 (display-time-mode 1) (setq display-time-24hr-format t) (setq display-time-day-and-date t)   ;; 以 y/n代表 yes/no (fset 'yes-or-no-p 'y-or-n-p)   ;; 实现全屏效果,快捷键为f6 (global-set-key [f6] 'my-fullscreen) (defun my-fullscreen () (interactive) (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_FULLSCREEN" 0)) )   ;; 最大化 (defun my-maximized () (interactive) (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0)) (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0)) ) ;; 启动emacs时窗口最大化 (my-maximized)   ;; Change the indentation level (setq-default c-basic-offset 4)   ;; Change the style (setq c-default-style "linux"           c-basic-offset 4)   (setq indent-tabs-mode nil) (setq default-tab-width 4) (setq tab-width 4)   ;; 在标题栏提示你目前在什么位置 ;; 这玩意也不知道干吗的? ;; (setq frame-title-format "TankyWoo@%b")   ;; 去掉工具栏 ;; (tool-bar-mode nil)   ;;去掉菜单栏 ;; (menu-bar-mode nil)