个人的Emacs配置,环境是archlinux,参考了不少网上资料,因为太多,就不一一列举了,在这里感谢那些作者的辛苦经验劳动。

(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(column-number-mode t)
'(ecb-options-version "2.40")
'(size-indication-mode t))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
) ;;按F11全屏
(global-set-key [f11] 'my-fullscreen) ;全屏
(defun my-fullscreen ()
(interactive)
(x-send-client-message
nil nil "_NET_WM_STATE"
'(2 "_NET_WM_STATE_FULLSCREEN" 0))
) ;最大化
(defun my-maximized ()
(interactive)
(x-send-client-message
nil nil "_NET_WM_STATE"
'(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
(x-send-client-message
nil nil "_NET_WM_STATE"
'(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
)
;启动时最大化
(my-maximized) ;;cedet-1.1 配置
;忽略目前cedet的一个issue
(setq byte-compile-warnings nil) (load-file "~/.emacs.d/plugins/cedet-1.1/common/cedet.el")
(semantic-load-enable-minimum-features) ; 自动分析buffer内容 保存分析后的内容 可以利用ebrowse的结果
(semantic-load-enable-code-helpers) ; 这个feature可以让imenu显示semantic分析出的类,函数等tags。
;(semantic-load-enable-guady-code-helpers) ; 根据光标位置把当前函数名显示在buffer顶上 semantic会在类/函数等tag上方加一条蓝色的线
(semantic-load-enable-excessive-code-helpers) ; 其中包含上条被注释的功能
(global-ede-mode t)
(require 'semantic)
(require 'semantic-ia)
(global-semantic-stickyfunc-mode )
(require 'semantic-gcc)
(require 'semanticdb)
(global-srecode-minor-mode ) ;;EAssist 配置 文件包含在cedet中
(add-to-list 'load-path "~/.emacs.d/plugins/cedet-1.1/contrib/")
(defun my-c-mode-common-hook ()
(define-key c-mode-base-map (kbd "M-o") 'eassist-switch-h-cpp)
(define-key c-mode-base-map (kbd "M-m") 'eassist-list-methods))
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook) ;;ecb-2.4 配置
(add-to-list 'load-path "~/.emacs.d/plugins/ecb-master/")
(require 'ecb)
(setq ecb-tip-of-the-day nil) ;启动ECB时不显示每日提示
(ecb-activate) ;;cscope 配置
(require 'xcscope) ;;color-theme-6.6.
(add-to-list 'load-path "~/.emacs.d/plugins/color-theme-6.6.0/")
(require 'color-theme)
(color-theme-initialize)
;(color-theme-arjen)
(color-theme-matrix) ;;YASnippet 配置
(add-to-list 'load-path "~/.emacs.d/plugins/yasnippet")
(require 'yasnippet)
(yas-global-mode ) ;;switch-window 配置
(load-file "~/.emacs.d/plugins/switch-window.el")
(require 'switch-window)
(global-set-key (kbd "C-x o") 'switch-window) ;;auto-complete 配置
(add-to-list 'load-path "~/.emacs.d/plugins/auto-complete/lib/fuzzy/")
(add-to-list 'load-path "~/.emacs.d/plugins/auto-complete/lib/popup/")
(add-to-list 'load-path "~/.emacs.d/plugins/auto-complete/lib/ert/lisp/emacs-lisp/")
(add-to-list 'load-path "~/.emacs.d/plugins/auto-complete/") (require 'auto-complete-config)
(ac-config-default)
(add-to-list 'ac-dictionary-directories "~/.emacs.d/plugins/auto-complete/dict") ;;highlight-symbol 配置
(add-to-list 'load-path "~/.emacs.d/plugins/highlight-symbol/")
(require 'highlight-symbol)
(global-set-key [(control f3)] 'highlight-symbol-at-point)
(global-set-key [f3] 'highlight-symbol-next)
(global-set-key [(shift f3)] 'highlight-symbol-prev)
(global-set-key [(meta f3)] 'highlight-symbol-query-replace) ;;tabbar 配置
(add-to-list 'load-path "~/.emacs.d/plugins/tabbar/")
(require 'tabbar)
(tabbar-mode ) ;;session 配置
(add-to-list 'load-path "~/.emacs.d/plugins/session/lisp/")
(require 'session)
(add-hook 'after-init-hook 'session-initialize) ;;desktop 配置
(require 'desktop)
(desktop-save-mode )
;(setq-default desktop-load-locked-desktop t);;解决pid错误问题 ;;doxymacs 配置
(add-to-list 'load-path "~/.emacs.d/plugins/doxymacs-1.8.0/lisp/")
(require 'doxymacs)
(doxymacs-mode)
(defun my-doxymacs-font-lock-hook ()
(if (or (eq major-mode 'c-mode) (eq major-mode 'c++-mode))
(doxymacs-font-lock)))
(add-hook 'font-lock-mode-hook 'my-doxymacs-font-lock-hook)
(setq doxymacs-doxygen-style "C++")
(add-hook 'c++-mode-common-hook 'doxymacs-mode)
(add-hook 'c++-mode-common-hook 'doxymacs-mode) ;;multi-term 配置
(add-to-list 'load-path "~/.emacs.d/plugins/multi-term/")
(require 'multi-term)
(setq multi-term-program "/bin/bash")
(setq multi-term-buffer-name "term")
;for solve term-sned-raw: Wrong type arguement: charactor,tab
(add-hook 'term-mode-hook (lambda()
(yas-minor-mode -))) (global-set-key "\C-x." 'multi-term)
(global-set-key "\C-x," 'multi-term-dedicated-open) ;;sourcepair 配置
(add-to-list 'load-path "~/.emacs.d/plugins/sourcepair/")
(require 'sourcepair)
(define-key global-map "\C-xz" 'sourcepair-jump-to-headerfile)
(setq sourcepair-source-path '( "." "../*" "../../*" ))
(setq sourcepair-header-path '( "." "include" "../include" "../*" "../../*"))
(setq sourcepair-recurse-ignore '( ".git" "Debug" "Release" )) ;;dired+ 配置
(add-to-list 'load-path "~/.emacs.d/plugins/diredPlus/")
(require 'dired+) ;;[ 高亮当前行 ]
;;----------------------------------------------------------------------------
(require 'hl-line)
(global-hl-line-mode t) ;;[ 其他基本配置 ]
;;----------------------------------------------------------------------------
(iswitchb-mode ) ;;Buffer便捷提示
(setq-default cursor-type 'bar) ;;光标显示为一竖线
(set-default-font "-unknown-DejaVu Sans Mono-normal-normal-normal-*-16-*-*-*-m-0-iso10646-1")
(icomplete-mode t)
(global-font-lock-mode t)
(fset 'yes-or-no-p 'y-or-n-p) ;;'y'/'n'代替'yes'/'no'
(setq x-select-enable-clipboard t) ;;支持emacs和外部程序的粘贴
(show-paren-mode t) ;;设置让光标指到某个括号与它匹配的括号
(setq show-paren-style 'parentheses)
(tool-bar-mode nil)
(scroll-bar-mode nil)
(setq kill-ring-max )
(setq max-lisp-eval-depth ) ;;lisp最大执行深度
(setq max-specpdl-size ) ;;最大容量
(setq undo-outer-limit ) ;;撤销限制 ;;[ 编码设置]
;;----------------------------------------------------------------------------
(setq default-buffer-file-coding-system 'utf-8-unix) ;缓存文件编码
(setq default-file-name-coding-system 'utf-8-unix) ;文件名编码
(setq default-keyboard-coding-system 'utf-8-unix) ;键盘输入编码
(setq default-process-coding-system '(utf-8-unix . utf-8-unix)) ;进程输出输入编
(setq default-sendmail-coding-system 'utf-8-unix) ;发送邮件编码
(setq default-terminal-coding-system 'utf-8-unix) ;终端编码 ;;[ 不产生备份、不自动保存 ]
;;----------------------------------------------------------------------------
(setq make-backup-files nil)
(setq auto-save-default nil)
(setq auto-save-mode nil) ;;[ 显示行号 ]
;;----------------------------------------------------------------------------
(setq linum-format "%4d ")
(require 'linum)
(global-linum-mode ) ;;[ 设置缩进 ]
;;----------------------------------------------------------------------------
(setq indent-tabs-mode t)
(setq default-tab-width )
(setq tab-width ) ;;隐藏tool bar
(tool-bar-mode ) ;;配置w3m 基础配置
(setq browse-url-browser-function 'w3m-browse-url)
(autoload 'w3m-browse-url "w3m" "Ask a WWW browser to show a URL." t)
; optional keyboard short-cut 全局快捷键
(global-set-key "\C-xm" 'browse-url-at-point)
;开启cookies
(setq w3m-use-cookies t) ;;干死semantic-stickyfunc-mode 要卸载ecb后,因为ecb启动后才会加载想应功能,此mode与tabber冲突
(global-semantic-stickyfunc-mode nil)

其中需要注意的就是ecb和cedet的加载顺序,ecb必须要写在cedet后面,否则可能出现ecb无法检测到cedet而不能正常启动的问题,但是ecb写在后面会导致ecb加载后依然会加载semantic-stickyfunc-mode,此mode与tabber冲突,所以在最后禁用之,其实不一定要加在最后,主要是加载顺序问题,能解决就好,就这样~新手才用emacs半年左右,这里贴出来是为了帮助其他和我一样的新鸟们~~老鸟们别在意啦~~

emacs 配置的更多相关文章

  1. emacs配置eslint 语法检查.找不到node解决

    使用emacs配置eslint 当调用语法检查时报错 Suspicious state from syntax checker javascript-eslint: Checker javascrip ...

  2. emacs配置详解及C/C++IDE全功能配置演示(附配置文件)

    我的emacs插件下载地址: http://pan.baidu.com/share/link?shareid=4196458904&uk=3708780105 说明: 1.为什么使用emacs ...

  3. 一些有用的 Emacs 配置(窗口快速切换、一键透明效果、任意位置删除整行等)

    本篇文章记录的是一些有用的 Emacs 配置,有些是自己原创,有些是借鉴别人(能记起来出处的我放了链接). 规定:C 代表 Ctrl,M 代表 Alt. 1.设置一次跳跃 n 行的快捷键 按 C-M- ...

  4. 绝世emacs配置for Ubuntu

    反正过不了几天就要退役了,把emacs配置放出来造福(祸害)大众? 浓浓的OIER风格,除了方便打代码就没别的用处(F8并不这样认为?),只可惜windows下的弄丢了,只有Ubuntu下的. F1不 ...

  5. 存个emacs配置

    emacs配置 (global-set-key [f9] 'compile-file) (global-set-key [f10] 'gud-gdb) (global-set-key (kbd &qu ...

  6. emacs 配置.emacs

    emacs 配置.emacs (require 'package) (package-initialize) (add-to-list'package-archives '("melpa&q ...

  7. purcell的emacs配置中的自动补全功能开启

    标记一下,原文参看purcell的emacs配置中的自动补全功能开启 修改init-auto-complete.el文件 ;;(setq-default ac-expand-on-auto-compl ...

  8. 中国大陆无法访问Steve Purcell的emacs配置解决办法

    因为大陆网络问题,没办法访问Steve Purcell的emacs配置中的melpa.org,所以我们更改目录即可. 1.删除自己的配置. $ rm ~/.emacs $ rm -rf ~/.emac ...

  9. emacs配置&博客界面源代码

    emacs配置 如果想要考场简单配置也可以去下面看,需要别的考场配置可以自己在下面比较全的里面找 考试备忘录(有新的就会更的...) By Junlier (global-set-key [f9] ' ...

随机推荐

  1. 201521145048《Java程序设计管理》第一周学习总结

    1. 本周学习总结 学习并了解Java的发展与历史 在网上视频中学习Java 了解并区分JVM JRE JDK 将java与已学语言做比较,发现相同处 2. 书面作业 Q1.为什么java程序可以跨平 ...

  2. 201521123037 《Java程序设计》第11周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. Java多线程之Executor.ExecutorService.Executors.Callable.Futur ...

  3. Java课程设计—学生成绩管理系统(201521123002 林楚虹)

    1. 团队课程设计博客链接 团队博客链接 2.个人责模块或任务说明 根据学生学号查找学生成绩 根据学生姓名(支持模糊匹配)查找学生成绩 用POI技术导出Excel文件 3.自己的代码提交记录截图 4. ...

  4. 201521123038 《Java程序设计》 第十一周学习总结

    201521123038 <Java程序设计> 第十一周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多线程相关内容. 2. 书面作业 本次PTA作业题集多 ...

  5. java课设-计算数学表达式的程序,201521123050,51 团队

    1.团队名称.团队成员介绍 团队名称:天空 团队成员: 肖世松 谢庆圆 2.项目git地址 项目git地址 3.项目git提交记录截图(要体现出每个人的提交记录.提交说明) 4.项目功能架构图与主要功 ...

  6. 201521123068《Java程序设计》第12周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 将Student对象(属性:int id, String name,int age,doubl ...

  7. Mysql的基本命令图

    如果看不清的,右键图片在新标签页打开! 这是经过我的整理出来的!如果有重要的再补充把-..

  8. 如何使用fiddler抓取https请求(PC和移动端)

    最近做一个抓取移动端app接口,并执行评论,收藏的接口功能测试.怎么搞/(ㄒoㄒ)/~~ 按照老思路试一试,第一步还是要用fiddler来帮忙获取接口信息! 一.基本的抓取http请求设置: 1.cm ...

  9. 云计算之阿里仓库停止openstack mitaka源报错“No package centos-release-openstack-mitaka available.”

    之前学习了一个月的openstack的mitaka版本,写完脚本放置一段时间,最近准备正式部署突然发现 No package centos-release-openstack-mitaka avail ...

  10. MySQL所学所思所想

    MySQL更改线上配置方案思想:原则上,需要备机.备份工作准备到位,有参数调优配置方案.有配置回退方案.有应急切换备机方案.以上方案评审无问题,然后可以和客户约定实施的时间.服务中断时间,先向客户侧申 ...