linux下emacs搭建

linuxemacs编程配置




下面是我的.emacs配置文件,所包含的插件都有下载地址,在本机,插件全都在~/etc/lisp/下。
我对color-theme-midnight进行了一点修改,颜色看起来更顺眼一些,如果喜欢,可以在这里下载:http://wuxi.googlecode.com/files/wx-color-theme.tar.gz,下载以后覆盖原来的文件就可以了。

里面集成了一些比较常用的插件,简单对插件进行了配置。在编程时,没有自动完成。所有配置都是从网站找的,然后经过我的整理和修改。

源码安装 Emacs 22可以见我的这篇博客:
http://hi.baidu.com/wuxicn/blog/item/66d7a538286a1621b9998f24.html

部分自定义快捷键:
F1:关闭其他窗口。
F2:切换到目录浏览模式。
F3:进入SHELL模式。
F4:关闭当前BUFFER
F5:开始speedbar
F6:跳到下一个窗口。
F7:编译。
F9:gdb调试。
F10:gdbnext命令(单步执行)。
F11:gdbstep命令(单语句执行)。
C-x SPACE:设置断点。
Ctrl+`: 折叠代码块。
M-n or C-TAB: 下一个buffer(按照tabbar上的顺序)。
M-p: 上一个buffer


本文连接:http://hi.baidu.com/wuxicn/blog/item/5bf6a0f509695223bd31091a.html
截图:
C++程序:

GDB 多窗口调试模式:

.emacs:

;;
;; wuxi's .emacs file
;;
;; BLOG: http://hi.baidu.com/wuxicn
;; Date: 2008.10
;; Author: wuxi [dot] cn [at] gmail [dot] com
;;

.emacs:
;; plugins directory
(add-to-list 'load-path "~/etc/lisp")


;;;;---------------------- UI -------------------------

;; 标题栏,显示"buffer的名字@Emacs"
(setq frame-title-format "%b@Emacs")

;; 禁用启动信息
(setq inhibit-startup-message t)

;; 显示光标位置:
(setq column-number-mode t)
(setq line-number-mode t)

;; 设置kill-ring-max200
(setq kill-ring-max 200)

;; 设置tab4个空格的宽度,而不是原来的2
(setq c-basic-offset 4)
(setq default-tab-width 4)
(setq-default indent-tabs-mode nil)

;; 设置让光标指到某个括号与它匹配的括号
(show-paren-mode t)
(setq show-paren-style 'parentheses)

;; 禁用终端响铃
(setq visible-bell t)

;; 高亮显示选择区域
(setq transient-mark-mode t)

;; 显示日期时间
(setq display-time-day-and-date t)
(setq display-time-24hr-format t)
(setq display-time-day-and-date t)
;(setq display-time-use-mail-icon t)
(setq display-time-interval 10)
(display-time)

;; 不产生备份文件
(setq make-backup-files nil)
(setq-default make-backup-files nil) ;不产生临时文件

;; 取消自动保存
(auto-save-mode 0)

;; 防止页面滚动时跳动
(setq scroll-margin 3
      scroll-conservatively 10000)

;; 保存上次的操作记录到SESSION: http://emacs-session.sourceforge.net/
(require 'session)
(add-hook 'after-init-hook 'session-initialize)
(setq session-save-file "~/etc/emacs/session")

;; 给每行显示行号: http://stud4.tuwien.ac.at/~e0225855/linum/linum.html
(require 'linum)            
(global-linum-mode t)

;; 颜色主题: http://download.gna.org/color-theme/
(require 'color-theme)
(color-theme-initialize)
(color-theme-midnight)

;; 'y' for 'yes', 'n' for 'no'
(fset 'yes-or-no-p 'y-or-n-p)

;; 代码折叠:
;;    http://www.gnuvola.org/software/j/hideshow/
(load-library "hideshow")
(add-hook 'c-mode-hook 'hs-minor-mode)
(add-hook 'c++-mode-hook 'hs-minor-mode)
(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)

;; Emacs添加Tab功能: http://emhacks.sourceforge.net/
(require 'tabbar)
(tabbar-mode 1)
(setq tabbar-buffer-groups-function
(lambda (buffer)
(list "All buffers")))
(global-set-key (kbd "M-[") 'tabbar-backward-group)
(global-set-key (kbd "M-]") 'tabbar-forward-group)
(global-set-key (kbd "M-p") 'tabbar-backward-tab)
(global-set-key (kbd "M-n") 'tabbar-forward-tab)
(global-set-key [(control tab)] 'tabbar-forward-tab)

;; 隐藏滚动条
(scroll-bar-mode -1)

;; 打开图片显示功能
(auto-image-file-mode t)

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



;;;;----------------- Programming ------------------------
;; CEDET: http://cedet.sourceforge.net/
(add-to-list 'load-path "~/etc/lisp/cedet/common")
(require 'cedet)
(semantic-load-enable-excessive-code-helpers)
(setq semanticdb-default-save-directory "~/etc/emacs/") ; semanticdb默认路经

;; 设置编译命令为:make
(setq compile-command "make")

;; C/C++语言风格
(defun wx-c-mode-hook()
(setq tab-width 4 indent-tabs-mode nil)
(c-set-style "stroustrup")
关闭自动换行
(c-toggle-auto-newline -1)
贪心删除
(c-toggle-hungry-state 1)
; ctrl+`: 代码折叠
(define-key c-mode-base-map [(control \`)] 'hs-toggle-hiding)
换行自动递进
(define-key c-mode-base-map [(return)] 'newline-and-indent)
; F7:编译
(define-key c-mode-base-map [(f7)] 'compile)

)
(add-hook 'c-mode-hook 'wx-c-mode-hook)
(add-hook 'c++-mode-hook 'wx-c-mode-hook)


;;;;---------------- Personal Info. ----------------------
(setq user-full-name "wuxi")
(setq user-mail-address "wuxi.cn@gmail.com")



;;;;---------------- Global Hot Key ----------------------

;; F1:最大化当前buffer:
(global-set-key [(f1)] 'delete-other-windows)

;; F2:切换到dired模式
(global-set-key [(f2)] 'dired)

;; F3:切换到shell模式
(global-set-key [(f3)] 'ansi-term)

;; F4:关闭buffer
(global-set-key [(f4)] 'kill-buffer-and-window)

;; F5:打开speedbar
(global-set-key [(f5)] 'speedbar)

;; 跳到另一个窗口
(global-set-key [(f6)] 'other-window)

;; F7:编译
(global-set-key [(f7)] 'compile)

;; F9:gdb
(global-set-key [(f9)] 'gdb)

;; F10: gdb:next
(global-set-key [(f10)] 'gud-next)

;; F11: gdb:step
(global-set-key [(f11)] 'gud-step)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值