前言:还记得之前讲过的emacs,这里就不再去赘述安装和php模块安装了,这篇文章的目的主要是让大家能更加深入的了解emacs,以及配置emacs,让emacs用起来更加顺手。在此之前希望大家先看看有关emacs的前面两篇文章。emacs开发php,emacs快捷键介绍。
设置emacs home
打开emacs你将看到
emacs配置-0
C-x C-f 输入~/如图
emacs配置-1
回车你将看到
C-x C-f新建.emacs回车
emacs配置-3
然后你将看到一个白画面啥也没有,然后在第一行输入(load-file "D:/emacs-22.3/.emacs")位置自己定(如果你已经复制了这段代码你只要C-y 就能在emacs里面黏贴)。然后保存退出(C-x C-s C-x C-c)重新打开。这时候打开会报错,因为我们在D:/emacs-22.3/目录没有.emacs文件,如果你想看看一开始报错的内容你只要C-x b然后按一下tab然后会出现
emacs配置-4
输入*M 然后按tab会自动补全,然后回车就好了这样就能看到报错的内容了。
emacs配置-5
然后我们打开那个目录(C-x C-f 打开) 新建.emacs。然后输入
(setenv “HOME” “D:/emacs-22.3″)
(setenv “PATH” “D:/emacs-22.3″)
(setq default-directory “~/”)
(add-to-list ‘load-path “~/site-lisp”)
然后保存退出重新打开然后打开home是不是位置不一样了
配色方案
到http://download.savannah.gnu.org/releases/color-theme/下载最新的,我们下载.zip结尾的那个然后解压下载的文件,将 color-theme-6.6.0(目前是这个版本) 中的 color-theme.el 和 themes 文件夹复制到 d:\emacs-22.3\site-lisp
.emacs文件里面输入
;;配色方案
(require 'color-theme)
保存退出,重新打开如果出错的话打开*Message*看看错误是啥相应改下
然后M-x color-theme-select, 回车查看效果,d 查看主题信息(主题名)选好自己喜欢的主题比如我选hober(如果选的有空格的话把空格替换成-)
则在 (require ‘color-theme) 下面添加代码:
(color-theme-initialize)
(color-theme-hober)
保存退出,重新打开是不是开始界面颜色变了吧
显示行号
下载扩展文件linum.el放到site-lisp,可以在http://stud4.tuwien.ac.at/~e0225855/linum/linum.html进行下载放到d:\emacs-22.3\site-lisp然后在.emacs加入下面代码
(require ‘linum)
(global-linum-mode 1)
保存退出,重新打开
工作环境保存
到http://sourceforge.net/projects/emacs-session/files/session/下载最新的session解压得到session.el放到d:\emacs-22.3\site-lisp然后在在d:\emacs-22.3目录新建desktop文件夹然后再.emacs加入下面代码,下面的代码在重启后,第一次运行的时候要运行下M-x desktop-save,让选择目录的时候就选择d:\emacs-22.3\desktop
01
;;加载desktop
02
(require 'session)
03
(add-hook 'after-init-hook 'session-initialize)
04
(setq desktop-globals-to-save '(desktop-missing-file-warning))
05
06
(load "desktop")
07
;;(desktop-load-default)
08
;; defcustom
09
(setq desktop-path '("~/desktop" "."))
10
(desktop-save-mode t)
11
(setq desktop-load-locked-desktop t)
12
(desktop-read)
buffer增强
下载扩展http://www.opensource.apple.com/source/emacs/emacs-70/emacs/lisp/ibuffer.el?txt http://www.cua.dk/ido.el两个扩展都放到site-lisp然后加入如下代码
1
;; ibuffer
2
(require 'ibuffer)
3
(global-set-key (kbd "C-x C-b") 'ibuffer)
4
5
;; ido
6
(require 'ido)
7
(ido-mode t)
保存退出重新打开 然后试试你的C-x C-b看看效果吧,是不是好多了
php支持
上次已经讲过了,所以不赘述
基本配置
直接拷贝下面的代码到.emacs即可 注释已经写得很清楚
01
;; 在标题栏提示你目前在什么位置
02
(setq frame-title-format "zhu@%b")
03
;; 默认显示 80列就换行
04
;;(setq default-fill-column 80)
05
;; 去掉工具栏
06
(tool-bar-mode nil)
07
;; 去掉菜单栏
08
(menu-bar-mode nil)
09
;; 去掉滚动栏
10
(scroll-bar-mode nil)
11
;; 语法高亮
12
(global-font-lock-mode t)
13
;; 一打开就起用 text 模式。
14
;;(setq default-major-mode 'text-mode)
15
;; 以 y/n代表 yes/no
16
(fset 'yes-or-no-p 'y-or-n-p)
17
;; 显示括号匹配
18
(show-paren-mode t)
19
(setq show-paren-style 'parentheses)
20
;; 显示时间,格式如下
21
(display-time-mode 1)
22
(setq display-time-24hr-format t)
23
(setq display-time-day-and-date t)
24
;不产生备份文件
25
(setq make-backup-files nil)
26
;显示列号
27
(column-number-mode t)
28
;; 光标禁止闪烁
29
;;(blink-cursor-mode -1)
30
;;去掉一打开emacs的欢迎屏幕
31
(setq inhibit-splash-screen t)
32
;光标靠近鼠标指针时,让鼠标指针自动让开
33
;;(mouse-avoidance-mode 'animate)
34
;;底板透明
35
(set-frame-parameter (selected-frame) 'alpha (list 80 50))
36
(add-to-list 'default-frame-alist (cons 'alpha (list 80 50)))
37
;;默认目录 和home目录不同
38
(setq default-directory "D:/www")
39
;; 当有问题出现显示错误信息,便于调试
40
(setq debug-on-error t)
41
42
;启动窗口大小
43
(setq initial-frame-alist '((top . 0) (left . 0) (width . 145) (height . 49)))
44
;; C-k 删除一整行设置
45
(setq-default kill-whole-line t)
最后贴一个完整的.emacs配置需要下载的.el先下载好,放到site-lisp
001
(setenv "HOME" "D:/emacs-22.3")
002
(setenv "PATH" "D:/emacs-22.3")
003
004
(setq default-directory "~/")
005
(add-to-list 'load-path "~/site-lisp")
006
007
;;配色方案
008
(require 'color-theme)
009
(color-theme-initialize)
010
(color-theme-hober)
011
012
;;显示行号
013
;;下载扩展文件linum.el放到site-lisp,可以在http://stud4.tuwien.ac.at/~e0225855/linum/linum.html进行下载
014
(require 'linum)
015
(global-linum-mode 1)
016
017
;;; ibuffer.el: list the buffers
018
;(require 'ibuffer)
019
;(global-set-key (kbd "C-x C-b") 'ibuffer)
020
021
;; 在标题栏提示你目前在什么位置
022
(setq frame-title-format "zhu@%b")
023
;; 默认显示 80列就换行
024
;;(setq default-fill-column 80)
025
;; 去掉工具栏
026
(tool-bar-mode nil)
027
;; 去掉菜单栏
028
(menu-bar-mode nil)
029
;; 去掉滚动栏
030
(scroll-bar-mode nil)
031
;; 语法高亮
032
(global-font-lock-mode t)
033
;; 一打开就起用 text 模式。
034
;;(setq default-major-mode 'text-mode)
035
;; 以 y/n代表 yes/no
036
(fset 'yes-or-no-p 'y-or-n-p)
037
;; 显示括号匹配
038
(show-paren-mode t)
039
(setq show-paren-style 'parentheses)
040
;; 显示时间,格式如下
041
(display-time-mode 1)
042
(setq display-time-24hr-format t)
043
(setq display-time-day-and-date t)
044
;不产生备份文件
045
(setq make-backup-files nil)
046
;显示列号
047
(column-number-mode t)
048
;; 光标禁止闪烁
049
;;(blink-cursor-mode -1)
050
;;去掉一打开emacs的欢迎屏幕
051
(setq inhibit-splash-screen t)
052
;光标靠近鼠标指针时,让鼠标指针自动让开
053
;;(mouse-avoidance-mode 'animate)
054
;;底板透明
055
(set-frame-parameter (selected-frame) 'alpha (list 80 50))
056
(add-to-list 'default-frame-alist (cons 'alpha (list 80 50)))
057
;;默认目录 和home目录不同
058
(setq default-directory "D:/www")
059
;; 当有问题出现显示错误信息,便于调试
060
(setq debug-on-error t)
061
062
;启动窗口大小
063
(setq initial-frame-alist '((top . 0) (left . 0) (width . 145) (height . 49)))
064
;; C-k 删除一整行设置
065
(setq-default kill-whole-line t)
066
067
;;加载desktop
068
(require 'session)
069
(add-hook 'after-init-hook 'session-initialize)
070
(setq desktop-globals-to-save '(desktop-missing-file-warning))
071
072
(load "desktop")
073
;;(desktop-load-default)
074
;; defcustom
075
(setq desktop-path '("~/desktop" "."))
076
(desktop-save-mode t)
077
(setq desktop-load-locked-desktop t)
078
(desktop-read)
079
080
;; ibuffer
081
(require 'ibuffer)
082
(global-set-key (kbd "C-x C-b") 'ibuffer)
083
084
;; ido
085
(require 'ido)
086
(ido-mode t)
087
088
;;php支持
089
(load "php-mode")
090
; 这两句是告诉emacs对于.php的文件自动加载php-mode
091
(add-to-list 'auto-mode-alist '("\\.php\\'" . php-mode))
092
(add-to-list 'auto-mode-alist '("\\.phps\\'" . php-mode))
093
094
;;(分号是注释的意思)这里是定义一个函数
095
(define-key php-mode-map
096
[menu-bar php php-run]
097
'("Run PHP" . php-run))
098
099
(define-key php-mode-map
100
[menu-bar php php-run]
101
'("Run PHP" . php-run))
102
103
(defun php-run ()
104
(interactive)
105
(message buffer-file-name)
106
(shell-command
107
(concat "d:/wamp/bin/php/php5.3.3/php.exe -f \""
108
(buffer-file-name)
109
"\"")))
110
111
(define-key php-mode-map
112
[menu-bar php php-debug]
113
'("PHP Debug" . php-debug))
114
115
(defun php-debug ()
116
(interactive)
117
(shell-command
118
(concat "d:/wamp/bin/php/php5.3.3/php.exe -f \""
119
(buffer-file-name)
120
"\"")))
121
122
;;这里是绑定函数到快捷键C+c r
123
124
(defun my-php-mode()
125
(define-key php-mode-map [(control c) (r)] 'php-run)
126
(define-key php-mode-map [(control c) (d)] 'php-debug)
127
(hs-minor-mode t)
128
(linum-mode t)
129
)
130
131
(add-hook 'php-mode-hook 'my-php-mode)