转载:
;;;避免多个客户端启动
(server-start)
;; 关闭开机画面
(setq inhibit-startup-message t)
;;-------------------------光标显示为一竖线-------------------------
(setq-default cursor-type 'bar)
;; 没有提示音,也不闪屏。
(setq ring-bell-function 'ignore)
;; 自動保存設置
(setq auto-save-mode t)
;; 光标靠近鼠标时鼠标跳开
(mouse-avoidance-mode 'animate)
;;去掉那个大大的工具栏
(tool-bar-mode nil)
;; 默认的主模式
(setq default-major-mode 'text-mode)
;;在minibuffer里启用自动补全函数和变量
(icomplete-mode t)
;; 语法高亮
(global-font-lock-mode t)
;;设置打开文件的缺省路径
(setq default-directory "E:\\exercise")
;;;;;;;----------------------------设置颜色和字体-----------------------------
;;设置背景色为 黑色
(set-face-background 'default "black")
;;设置背景色为 浅青色3
;(set-face-background 'default "light cyan")
;;设置前字体色为绿色
(set-foreground-color "green")
;; 设置另外一些颜色:语法高亮显示的背景和主题,区域选择的背景和主题,二次选择的背景和选择
;(set-face-foreground 'highlight "white")
;(set-face-background 'highlight "blue")
;(set-face-foreground 'region "cyan")
;(set-face-background 'region "blue")
;(set-face-foreground 'secondary-selection "skyblue")
;(set-face-background 'secondary-selection "darkblue")
;; MS Windows环境下字体设置
(setq default-frame-alist
(append
'((font . "fontset-chinese")) default-frame-alist))
(create-fontset-from-fontset-spec
"-outline-Courier New-normal-r-normal-normal-13-97-96-96-c-*-fontset-chinese")
(set-fontset-font
"fontset-default" nil
"-outline-新宋体-normal-r-normal-normal-14-*-96-96-c-*-iso10646-1" nil 'prepend)
(set-fontset-font
"fontset-chinese" 'kana
"-outline-新宋体-normal-r-normal-normal-14-*-96-96-c-*-iso10646-1" nil 'prepend)
(set-fontset-font
"fontset-chinese" 'han
"-outline-新宋体-normal-r-normal-normal-14-*-96-96-c-*-iso10646-1" nil 'prepend)
(set-fontset-font
"fontset-chinese" 'cjk-misc
"-outline-新宋体-normal-r-normal-normal-14-*-96-96-c-*-iso10646-1" nil 'prepend)
(set-fontset-font
"fontset-chinese" 'symbol
"-outline-新宋体-normal-r-normal-normal-14-*-96-96-c-*-iso10646-1" nil 'prepend)
(set-default-font "fontset-chinese")
;; 显示括号匹配, 而不是匹配后短暂的跳到另一个括号
(show-paren-mode t)
(setq show-paren-style 'parentheses)
;; 在 mode-line 中显示列号
(setq column-number-mode t)
;; 使用 C-k 删除整行
(setq-default kill-whole-line t)
;; 设置 kill-ring 的大小
(setq kill-ring-max 50)
;; 备份文件目录
(setq backup-by-copying t) ; 自动备份
;;自动备份目录~/.emacs.d/backup
(setq backup-directory-alist '(("." . "~/.emacs.d/backup")))
(setq delete-old-versions t) ; 自动删除旧的备份文件
(setq kept-new-versions 2) ; 保留最近的3个备份文件
(setq kept-old-versions 1) ; 保留最早的2个备份文件
(setq version-control t) ; 多次备份
;; 不要问 yes-or-no,只问 y-or-n
(defalias 'yes-or-no-p 'y-or-n-p)
;; 设置 emacs 的标题
(setq frame-title-format "emacs@%b %f")
;; 可以显示图片
(auto-image-file-mode)
;; 高亮显示选中区域
(transient-mark-mode t)
;;;不要生成备份文件
;(setq-default make-backup-files nil)
;;;; 显示行号
(setq column-number-mode t)
(setq line-number-mode t)
;;;; 显示时间
(setq display-time-24hr-format t)
(setq display-time-day-and-date t)
(display-time)
;; 代码折叠
(load-library "hideshow")
(add-hook 'java-mode-hook 'hs-minor-mode)
(add-hook 'perl-mode-hook 'hs-minor-mode)
(add-hook 'php-mode-hook 'hs-minor-mode)
(add-hook 'emacs-lisp-mode-hook 'hs-minor-mode)
;;;;;;;;公用功能快捷键设置
;;F1列模式
(global-set-key [f1] 'cua-mode)
;;恢复,常用键
(global-set-key [f2] 'undo)
;;F4,kill键,习惯设置,关闭当前buffer
(global-set-key [f4] 'kill-this-buffer)
;;定义查找快捷键
(global-set-key [f5] 'replace-regexp) ;;支持正则表达式
(global-set-key [f6] 'replace-string)
;;设置保存当前文件快捷
(global-set-key [f8] 'save-buffer);
;;;;;;;;;;F10默认为选择菜单栏
;;打开一个终端,可以绑定为:eshell,shell,terminal-emulator
;;(global-set-key [f12] 'eshell)
;;绑定按键
(global-set-key [(meta ?/)] 'hippie-expand)
;;;;;;;;加载相应插件,代码阅读增强ecb,xcscope,cedet
;;加载ecb
(add-to-list 'load-path "e:\\Emacs\site-lisp\ecb-2.40")
(require 'ecb-autoloads)
;;加载cedet
(add-to-list 'load-path "E:\\Emacs\site-lisp\cedet-1.0pre6")
(require 'cedet)
;;加载session
(add-to-list 'load-path "e:\\Emacs\site-lisp\session")
(require 'session)
;; 启动时初始化session
(add-hook 'after-init-hook 'session-initialize)
;;加载xcscope
(require 'xcscope)
;; 启动doxymacs
(add-to-list 'load-path "e:\\Emacs\site-lisp\doxymacs-1.8.0")
(require 'doxymacs)
(add-hook 'c-mode-common-hook 'doxymacs-mode) ;; 启动doxymacs-mode
(add-hook 'c++-mode-common-hook 'doxymacs-mode) ;; 启动doxymacs-mode
;(desktop-load-default) ;;读取默认desktop设置
;(desktop-read) ;;读取当前目录保存的desktop设置
(global-set-key [f9] 'shell) ;;定义F9为CMD命令模式
(global-set-key [f12] 'ecb-activate) ;;定义F12键为激活ecb
(global-set-key [C-f12] 'ecb-deactivate) ;;定义Ctrl+F12为停止ecb
(global-set-key [f11] 'delete-other-windows) ;;设置F11为删除其它窗口
(global-set-key [(meta return)] 'semantic-ia-complete-symbol-menu) ;;设置Alt+Enter为自动补全菜单
(global-set-key [C-\;] 'ecb-goto-window-edit-last) ;;切换到编辑窗口
(global-set-key [C-\'] 'ecb-goto-window-methods) ;;切换到函数窗口
(global-set-key [C-.] 'cscope-find-global-definition) ;;搜索定义
(global-set-key [C-,] 'cscope-pop-mark) ;; 跳出转向
(enable-visual-studio-bookmarks) ;; 启动VS书签子程序
(setq semanticdb-project-roots (list "e:\\exercise")) ;; 设置cemanticdb的扫描根目录
(add-hook 'c-mode-common-hook ( lambda() ( c-set-style "k&r" ) ) ) ;;设置C语言默认格式
(add-hook 'c++-mode-common-hook ( lambda() ( c-set-style "k&r" ) ) ) ;;设置C++语言默认格式