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)