emacs配置文件

今天折腾了一天emacs,终于简单的配置了一下我的emacs。作为新手,我参考了很多人的博客,因为即查即试即写,所以没有把别人文章的链接留下。因此,我把我的配置文件分享给大家。

我用的是ubuntu,使用sudo apt-get install emacs安装之后,很多人说在主目录下有一个文件.emacs,可是我没有找到,所以创建了一个.emacs。基本配置完成后,发现配色方案不太好看,于是网上下载了一个color-theme.el配色方案。这其中涉及到一个加载路径的问题,我摸索了很长时间,才了解到需要将文件color-theme.el放到"usr/share/emacs/site-lisp",也就是所谓的加载路径就是"usr/share/emacs/site-lisp"。下面是配置文件,里面涉及到一些小问题,我也在注释中给与了解释。

复制代码
;; author: chinazhangjie
;; e
- mail: chinajiezhang@gmail.com

;; 指针颜色设置为白色
(
set - cursor - color  " white " )
;; 鼠标颜色设置为白色
(
set - mouse - color  " white " )


;; 从color
- theme中获取
;; 网上下载color
- theme.el,放到加载路径(/usr / share / emacs / site - lisp )下
;; M
- x color - theme - select,鼠标左键选中,回车查看效果
;; d查看信息,将出现如下信息:
;; color
- theme - matrix  is  an interactive Lisp function  in  `color - theme.el ' .
;; (color - theme - matrix)
;; Color theme by walterh@rocketmail.com, created 
2003 - 10 - 16 .
;; 选择(color
- theme - blue - mood)即可
(require 
' color-theme)
(setq color - theme - is - global  t)
(color
- theme - wheat)

;; 一打开就起用 text 模式。 
(setq 
default - major - mode  ' text-mode)

;; 语法高亮
(
global - font - lock - mode t)

;; 以 y
/ n代表 yes / no
(fset 
' yes-or-no-p  ' y - or - n - p) 

;; 显示括号匹配 
(show
- paren - mode t)
(setq show
- paren - style  ' parentheses)

;; 显示时间,格式如下
(display
- time - mode  1
(setq display
- time - 24hr - format t) 
(setq display
- time - day - and - date t) 

(transient
- mark - mode t) 

;; 支持emacs和外部程序的粘贴
(setq x
- select - enable - clipboard t) 

;; 在标题栏提示你目前在什么位置
(setq frame
- title - format  " zhj@%b "

;; 默认显示 80列就换行 
(setq 
default - fill - column  80

;; 去掉工具栏
(tool
- bar - mode nil)

;;去掉菜单栏
(menu
- bar - mode nil)

;; 去掉滚动栏
(scroll
- bar - mode nil)

;; 设置字体
;; 方法为: emacs
-> options -> Set Default Font -> " M-x describe-font " 查看当前使用的字体名称、字体大小
(
set - default - font  "  -bitstream-Courier 10 Pitch-normal-normal-normal-*-16-*-*-*-m-0-iso10646-1 " )

;; 显示列号
(setq column
- number - mode t)
(setq line
- number - mode t)

;; 设置默认tab宽度为2
(setq tab
- width  2
indent
- tabs - mode t
c
- basic - offset  2 )

;; 回车缩进
(
global - set - key  " \C-m "   ' newline-and-indent)
( global - set - key (kbd  " C-<return> " ' newline)

;; 实现全屏效果,快捷键为f11
(
global - set - key [f11]  ' 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)

;; 启动窗口大小
(setq 
default - frame - alist
' ((height . 35) (width . 125) (menu-bar-lines . 20) (tool-bar-lines . 0)))
复制代码

2011-06-22 update

复制代码
;; author: chinazhangjie
;; e
- mail: chinajiezhang@gmail.com

;; 指针颜色设置为白色
(
set - cursor - color  " white " )
;; 鼠标颜色设置为白色
(
set - mouse - color  " white " )


;; 从color
- theme中获取
;; 网上下载color
- theme.el,放到加载路径(/usr / share / emacs / site - lisp )下
;; M
- x color - theme - select,鼠标左键选中,回车查看效果
;; d查看信息,将出现如下信息:
;; color
- theme - matrix  is  an interactive Lisp function  in  `color - theme.el ' .
;; (color - theme - matrix)
;; Color theme by walterh@rocketmail.com, created 
2003 - 10 - 16 .
;; 选择(color
- theme - blue - mood)即可
(require 
' color-theme)
(setq color - theme - is - global  t)
(color
- theme - vim - colors)

;; 一打开就起用 text 模式。 
(setq 
default - major - mode  ' text-mode)

;; 语法高亮
(
global - font - lock - mode t)

;; 以 y
/ n代表 yes / no
(fset 
' yes-or-no-p  ' y - or - n - p) 

;; 显示括号匹配 
(show
- paren - mode t)
(setq show
- paren - style  ' parentheses)

;; 显示时间,格式如下
(display
- time - mode  1
(setq display
- time - 24hr - format t) 
(setq display
- time - day - and - date t) 

(transient
- mark - mode t) 

;; 支持emacs和外部程序的粘贴
(setq x
- select - enable - clipboard t) 

;; 在标题栏提示你目前在什么位置
(setq frame
- title - format  " zhj@%b "

;; 默认显示 80列就换行 
(setq 
default - fill - column  80

;; 去掉工具栏
(tool
- bar - mode nil)

;;去掉菜单栏
;;(menu
- bar - mode nil)

;; 去掉滚动栏
(scroll
- bar - mode nil)

;; 设置字体
;; 方法为: emacs
-> options -> Set Default Font -> " M-x describe-font " 查看当前使用的字体名称、字体大小
(
set - default - font  " -bitstream-Courier 10 Pitch-normal-normal-normal-*-17-*-*-*-m-0-iso10646-1 " )

;; 显示列号
(setq column
- number - mode t)
(setq line
- number - mode t)

;; 设置缩进
(setq indent
- tabs - mode nil)
(setq 
default - tab - width  4 )
(setq tab
- width  4 )
(setq tab
- stop - list ())
(loop 
for  x downfrom  40  to  1   do
(setq tab
- stop - list (cons ( *  x  4 ) tab - stop - list)))

(defconst my
- c - style
' ((c-tab-always-indent . t)
(c - comment - only - line - offset .  4 )
(c
- hanging - braces - alist . ((substatement - open after)
(brace
- list - open)))
(c
- hanging - colons - alist . ((member - init - intro before)
(inher
- intro)
(
case - label after)
(label after)
(access
- label after)))
(c
- cleanup - list . (scope - operator
empty
- defun - braces
defun
- close - semi))
(c
- offsets - alist . ((arglist - close . c - lineup - arglist)
(substatement
- open .  0 )
(
case - label .  4 )
(block
- open .  0 )
(knr
- argdecl - intro .  - )))
(c
- echo - syntactic - information - p . t)
)
" My C Programming Style " )

;; offset customizations not 
in  my - c - style
(setq c
- offsets - alist  ' ((member-init-intro . ++)))

;; Customizations 
for  all modes  in  CC Mode.
(defun my
- c - mode - common - hook ()
;; add my personal style and 
set  it  for  the current buffer
(c
- add - style  " PERSONAL "  my - c - style t)
;; other customizations
(setq tab
- width  4
;; 
this  will make sure spaces are used instead of tabs
indent
- tabs - mode nil)
;; we like auto
- newline and hungry - delete
(c
- toggle - auto - hungry - state  1 )
;; key bindings 
for  all supported languages. We can put these  in
;; c
- mode - base - map because c - mode - map, c ++- mode - map, objc - mode - map,
;; java
- mode - map, idl - mode - map, and pike - mode - map inherit from it.
(define
- key c - mode - base - map  " \C-m "   ' c-context-line-break)
)

(add
- hook  ' c-mode-common-hook  ' my - c - mode - common - hook) 
;; 回车缩进
(
global - set - key  " \C-m "   ' newline-and-indent)
( global - set - key (kbd  " C-<return> " ' newline)

;; 实现全屏效果,快捷键为f11
(
global - set - key [f11]  ' 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)

;; 启动窗口大小
(setq 
default - frame - alist
' ((height . 35) (width . 125) (menu-bar-lines . 20) (tool-bar-lines . 0)))
复制代码

2011-07-21 update

复制代码
;; author: chinazhangjie
;; e
-mail: chinajiezhang@gmail.com

;; 指针颜色设置为白色
(
set-cursor-color "white")
;; 鼠标颜色设置为白色
(
set-mouse-color "white")


;; 从color
-theme中获取
;; 网上下载color
-theme.el,放到加载路径(/usr/share/emacs/site-lisp )下
;; M
-x color-theme-select,鼠标左键选中,回车查看效果
;; d查看信息,将出现如下信息:
;; color
-theme-matrix is an interactive Lisp function in `color-theme.el'.
;; (color-theme-matrix)
;; Color theme by walterh@rocketmail.com, created
2003-10-16.
;; 选择(color
-theme-blue-mood)即可
(require
'color-theme)
(setq color-theme-is-global t)
(color
-theme-dark-blue2)

;; 使用tabbar.el
(require
'tabbar)
(tabbar-mode)
(
global-set-key (kbd "") 'tabbar-backward-group)
(global-set-key (kbd "") 'tabbar-forward-group)
(global-set-key (kbd "") 'tabbar-backward)
(global-set-key (kbd "") 'tabbar-forward)


;; 一打开就起用 text 模式。
(setq
default-major-mode 'text-mode)

;; 语法高亮
(
global-font-lock-mode t)

;; 以 y
/n代表 yes/no
(fset
'yes-or-no-p 'y-or-n-p)

;; 显示括号匹配
(show
-paren-mode t)
(setq show
-paren-style 'parentheses)

;; 显示时间,格式如下
(display
-time-mode 1)
(setq display
-time-24hr-format t)
(setq display
-time-day-and-date t)

(transient
-mark-mode t)

;; 支持emacs和外部程序的粘贴
(setq x
-select-enable-clipboard t)

;; 在标题栏提示你目前在什么位置
(setq frame
-title-format "zhj@%b")

;; 默认显示 80列就换行
(setq
default-fill-column 80)

;; 去掉工具栏
(tool
-bar-mode nil)

;;去掉菜单栏
;;(menu
-bar-mode nil)

;; 去掉滚动栏
(scroll
-bar-mode nil)

;; 设置字体
;; 方法为: emacs
->options->Set Default Font->"M-x describe-font"查看当前使用的字体名称、字体大小
(
set-default-font " -bitstream-Courier 10 Pitch-normal-normal-normal-*-19-*-*-*-m-0-iso10646-1")

;; 显示列号
(setq column
-number-mode t)
(setq line
-number-mode t)

;; 设置缩进
(setq indent
-tabs-mode nil)
(setq
default-tab-width 4)
(setq tab
-width 4)
(setq tab
-stop-list ())
(loop
for x downfrom 40 to 1 do
(setq tab
-stop-list (cons (* x 4) tab-stop-list)))

(defconst my
-c-style
'((c-tab-always-indent . t)
(c-comment-only-line-offset . 4)
(c
-hanging-braces-alist . ((substatement-open after)
(brace
-list-open)))
(c
-hanging-colons-alist . ((member-init-intro before)
(inher
-intro)
(
case-label after)
(label after)
(access
-label after)))
(c
-cleanup-list . (scope-operator
empty
-defun-braces
defun
-close-semi))
(c
-offsets-alist . ((arglist-close . c-lineup-arglist)
(substatement
-open . 0)
(
case-label . 4)
(block
-open . 0)
(knr
-argdecl-intro . -)))
(c
-echo-syntactic-information-p . t)
)
"My C Programming Style")

;; offset customizations not
in my-c-style
(setq c
-offsets-alist '((member-init-intro . ++)))

;; Customizations
for all modes in CC Mode.
(defun my
-c-mode-common-hook ()
;; add my personal style and
set it for the current buffer
(c
-add-style "PERSONAL" my-c-style t)
;; other customizations
(setq tab
-width 4
;;
this will make sure spaces are used instead of tabs
indent
-tabs-mode nil)
;; we like auto
-newline and hungry-delete
(c
-toggle-auto-hungry-state 1)
;; key bindings
for all supported languages. We can put these in
;; c
-mode-base-map because c-mode-map, c++-mode-map, objc-mode-map,
;; java
-mode-map, idl-mode-map, and pike-mode-map inherit from it.
(define
-key c-mode-base-map "\C-m" 'c-context-line-break)
)

(add
-hook 'c-mode-common-hook 'my-c-mode-common-hook)
;; 回车缩进
(
global-set-key "\C-m" 'newline-and-indent)
(global-set-key (kbd "C-<return>") 'newline)

;; 实现全屏效果,快捷键为f11
(
global-set-key [f11] '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)

;; 启动窗口大小
(setq
default-frame-alist
'((height . 35) (width . 125) (menu-bar-lines . 20) (tool-bar-lines . 0)))
复制代码

2011.08.04 update

View Code

效果:

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值