注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

我的博客

笨笨猫

 
 
 

日志

 
 

.emacs bak  

2011-09-23 11:11:32|  分类: MeeGo |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |



;; Load CEDET
;;(load-file "你存放cedet的目录/common/cedet.el")
(load-file "~/cedet-1.0/common/cedet.el")

;; Enabling various SEMANTIC minor modes.  See semantic/INSTALL for more ideas.
;; Select one of the following:

;; * This enables the database and idle reparse engines
;;(semantic-load-enable-minimum-features)

;; * This enables some tools useful for coding, such as summary mode
;;   imenu support, and the semantic navigator
(semantic-load-enable-code-helpers)

;; * This enables even more coding tools such as the nascent intellisense mode
;;   decoration mode, and stickyfunc mode (plus regular code helpers)
;; (semantic-load-enable-guady-code-helpers)

;; * This turns on which-func support (Plus all other code helpers)
;; (semantic-load-enable-excessive-code-helpers)

;; This turns on modes that aid in grammar writing and semantic tool
;; development.  It does not enable any other features such as code
;; helpers above.
;; (semantic-load-enable-semantic-debugging-helpers)


;;用于ecb
(add-to-list 'load-path "~/ecb-2.40")
(require 'ecb)

;;自动启动
;;(setq ecb-auto-activate t)

;;关闭ecb每日提示
(setq ecb-tip-of-the-day nil)


;;用于全屏显示: F12
(defun fullscreen ()
  (interactive)
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
    '(2 "_NET_WM_STATE_FULLSCREEN" 0)))
    
(global-set-key [f12] 'fullscreen)    

(setq make-backup-files nil);不产生备份文件
(column-number-mode t);显示列号

(show-paren-mode t);显示括号匹配

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


(tool-bar-mode nil);去掉那个大大的工具栏
(scroll-bar-mode nil);去掉滚动条

(mouse-avoidance-mode 'animate);光标靠近鼠标指针时,让鼠标指针自动让开
;;(setq mouse-yank-at-point t);支持中键粘贴
;;(transient-mark-mode t);允许临时设置标记

(setq x-select-enable-clipboard t);支持emacs和外部程序的粘贴
(setq frame-title-format '("" buffer-file-name "@emacs" ));在标题栏显示buffer名称
(setq default-fill-column 80);默认显示 80列就换行

;;字体大小设置
;;查看字体的方法:M-x describe-font 将后面的full name cp出来放在下面即可
(set-default-font "DejaVu Sans Mono:pixelsize=21:foundry=unknown:weight=normal:slant=normal:width=normal:spacing=100:scalable=true")


;;配色方案
(load-file "~/emacs_els/color-theme.el")
(require 'color-theme)
(add-hook 'c-mode-common-hook 'color-theme-taylor)
(add-hook 'c++-mode-common-hook 'color-theme-taylor)
 

;;显示行号
;;(require 'setnu)
;;用法: M-x setnu-mode即可显示行号
(require 'setnu)
(setnu-mode)
(global-linum-mode t);;开机即可显示行号

    
;;关掉开机画面    
(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.
 '(inhibit-startup-screen 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.
 )

;;将一个Tab键转成8个空格键
(setq default-tab-width 8)


;;标签浏览功能配置,使用tabber
(load-file "~/emacs_els/tabbar.el")
(require 'tabbar)
(tabbar-mode)
(global-set-key (kbd "") 'tabbar-backward-group)
(global-set-key (kbd "") 'tabbar-forward-group)
(global-set-key (kbd "C-`") 'tabbar-backward)
(global-set-key (kbd "C-<tab>") 'tabbar-forward)


;;复制一行的命令:M-w C-y粘贴
;; Smart copy, if no region active, it simply copy the current whole line
;;(defadvice kill-line (before check-position activate)
;;(if (member major-mode
;;'(emacs-lisp-mode scheme-mode lisp-mode
;;c-mode c++-mode objc-mode js-mode
;;latex-mode plain-tex-mode))
;;(if (and (eolp) (not (bolp)))
;;(progn (forward-char 1)
;;(just-one-space 0)
;;(backward-char 1)))))


;;(defadvice kill-ring-save (before slick-copy activate compile)
;;"When called interactively with no active region, copy a single line instead."
;;(interactive (if mark-active (list (region-beginning) (region-end))
;;(message "Copied line")
;;(list (line-beginning-position)
;;(line-beginning-position 2)))))
;;
;;
;;(defadvice kill-region (before slick-cut activate compile)
;;"When called interactively with no active region, kill a single line instead."
;;(interactive
;;(if mark-active (list (region-beginning) (region-end))
;;(list (line-beginning-position)
;;(line-beginning-position 2)))))
;;
;;
;;;; Copy line from point to the end, exclude the line break
;;(defun qiang-copy-line (arg)
;;"Copy lines (as many as prefix argument) in the kill ring"
;;(interactive "p")
;;(kill-ring-save (point)
;;(line-end-position))
;;;; (line-beginning-position (+ 1 arg)))
;;(message "%d line%s copied" arg (if (= 1 arg) "" "s")))
;;
;;
;;(global-set-key (kbd "M-k") 'qiang-copy-line)

;; 用一个很大的kill ring. 这样防止我不小心删掉重要的东西
(setq kill-ring-max 200)


;;加载各种el配置文件
(defconst my-emacs-path           "~/dea-1.4/" "我的emacs相关配置文件的路径")
(defconst my-emacs-my-lisps-path  (concat my-emacs-path "my-lisps/") "我自己写的emacs lisp包的路径")
(defconst my-emacs-lisps-path     (concat my-emacs-path "lisps/") "我下载的emacs lisp包的路径")
(defconst my-emacs-templates-path (concat my-emacs-path "templates/") "Path for templates")
 
;; 把`my-emacs-lisps-path'的所有子目录都加到`load-path'里面
(load (concat my-emacs-my-lisps-path "my-subdirs"))
(my-add-subdirs-to-load-path my-emacs-lisps-path)
(my-add-subdirs-to-load-path my-emacs-my-lisps-path)

;; 高亮当前行
;(load-file "~/dea-1.4/my-lisps/hl-line-settings.el")
;(require 'hl-line-settings)

;; color theme Emacs主题
;(require 'color-theme-settings)

;; 显示ascii表
;(require 'ascii)

;; Emacs的超强文件管理器
;(require 'dired-settings)

;; 返回到最近去过的地方
;(require 'recent-jump-settings)

;; 启动Emacs的时候最大化Emacs
;(require 'maxframe-settings)

;;highlight-symbol.el
;;自动高亮, 即随着光标的移动自动高亮所有当前光标下的单词, 还可以手动高亮,
;;比如我先高亮所有的abc, 然后再高亮所有的def, 还可以高亮所有的ghi, 还可以…, 总之, 可以无限高亮所有单词
;;它不是以语法个体进行高亮的, 它仅以单词进行高亮
;;它可以在所有相同的单词之间跳转, 回到前一个, 退到后一个, 非常方便, 还可以只在一个函数内进行跳转.
;;注意:highlight-symbol与color moccur以及w3m冲突,当启用了`highlight-symbol-mode’后,moccur和w3m自己的
;;颜色高亮就没了
(add-to-list 'load-path "/home/yuxu/emacs_els/highlight-symbol")
(require 'highlight-symbol)

(global-set-key [f1] 'highlight-symbol-at-point)
(global-set-key [f3] 'highlight-symbol-next)
(global-set-key [(shift f3)] 'highlight-symbol-prev)

;;当超过80个字符每行时,多出的部分会高亮显示出来
;;Usage
;;    Enable the mode with M-x highlight-80+-mode
;;(add-to-list 'load-path "/home/yuxu/emacs_els/highlight-80+")
;;(require 'highlight-80+)

;;高亮当前编辑行
;;(require 'hl-line)
;;(hl-line-mode 1)

;;我刚刚接触 Emacs 的时候,觉得他翻页的
;;搞得光标跳来跳去,也就是说,page down , page up 之后,光标不再原来的位置。很不舒服
;;pager.el 就解决了这个问题。
(add-to-list 'load-path "/home/yuxu/emacs_els/pager")
;;(require 'highlight-symbol)

;;但是这个package 还没有解决一个问题,就是当光标在最后一行的时候,如果再 C-n or <DOWN>
;;or M-x next-line , 那么,光标就会蹦到屏幕中间,相当于翻了半页,很不舒服。

;;加载了 session 之后菜单上会多两项:最近访问过的文件和最近修改过的文件
(add-to-list 'load-path "/home/yuxu/emacs_els/session")
(require 'session)
(add-hook 'after-init-hook 'session-initialize)

;;把这几行加入 .emacs 就可以把 C-x C-b 那个普通的 buffer menu 换成非常方便的 ibuffer 啦
(add-to-list 'load-path "/home/yuxu/emacs_els/ibuffer")
(require 'ibuffer)
(global-set-key (kbd "C-x C-b") 'ibuffer)

;;方便的在 kill-ring 里寻找需要的东西。

;;你是不是经常按 C-y 放进一个 kill-ring 里的单元。然后 M-y,M-y,…… 来寻找你需要的很久以前剪切下来的东西?很费事吧?
;;用了 browse-kill-ring 就好了。你只需要把它绑定到一个热键,比如 C-c k: 就能出现这样一个buffer
;;kill-ring 里的内容都可以方便的浏览,粘贴。具体操作请在这个 buffer 里 C-h m 或者 ?.
(add-to-list 'load-path "/home/yuxu/emacs_els/browse-kill-ring")
(require 'browse-kill-ring)
(global-set-key [(control c)(k)] 'browse-kill-ring)
(browse-kill-ring-default-keybindings)

;;终于找到了,这就是显示函数列表的方法
;;这个是 Emacs 自带的。M-x speedbar 就可以启动它。
;;它可以让你 方便的浏览文件,你还可以显示文件里的标题,函数,变量……
;;在你编辑不同的文件时,它可以显示当前文件所在目录里的相关文 件和它们的信息,比如文件是否需要重新编译,elisp文件是否已
;;编译,…… 等等

;;非常酷的一个扩展。可以“所见即所得”的编辑一个文本模式的表格。就跟很多字处理程序那样操作,可以识别文本文件里本
;;来就存在的表格
;;(add-to-list 'load-path "/home/yuxu/emacs_els/table")
;;(autoload 'table-insert "table" "WYGIWYS table editor")

;;这个扩展可以帮你保存一个“最近打开的文件”列表
;;你可以把不常用的C-x C-r 绑定到这样一个函数
;;这样你就可以 C-x C-r 然后 TAB 列出最近打开文件列表了
(require 'recentf)
(recentf-mode 1)

(defun recentf-open-files-compl ()
  (interactive)
  (let* ((all-files recentf-list)
     (tocpl (mapcar (function
             (lambda (x) (cons (file-name-nondirectory x) x))) all-files))
     (prompt (append '("File name: ") tocpl))
     (fname (completing-read (car prompt) (cdr prompt) nil nil)))
    (find-file (cdr (assoc-ignore-representation fname tocpl)))))

(global-set-key [(control x)(control r)] 'recentf-open-files-compl)

;ctypes 可以识别你的 C 文件里的类型定义 (typedef)。自动对它们进行语法加亮
;(require 'ctypes)
;(ctypes-auto-parse-mode 1)

;;C-c z ==M-x shell 开始终端
;;但是如果你在 minibuffer 当中第二次输入 Meta-x shell 命令,GNU Emacs 会把你带到已经存在的那个名叫 *shell*
;;的 Shell 缓冲区,而不是创建一个新的。解决的方法非常简单——你只需要使用 rename-buffer 命令为现有的 Shell 缓
;;冲区重新安排一个名字,然后再执行 shell 命令,GNU Emacs 就会为你创建一个新的名叫 *shell* 的 Shell 缓冲区了
;;(global-set-key (kbd "C-c z") 'shell)
;;(global-set-key (kbd "<f10>") 'rename-buffer)

;;如何 undo 到我刚刚离开的窗口设置?

;;上文提到过,Ctrl-x 0, Ctrl-x 1, Ctrl-x 2, Ctrl-x 3 能够快速的更改 GNU Emacs 的窗口设置,但是如果我在用过
;;Ctrl-x 1 之后希望能够快速“退回”到“刚才”使用过的窗口设置,而不是把它再做一遍,有没有办法做呢?GNU Emacs 有
;;一个叫做 winner-mode 的 minor mode 可以帮你完成这个愿望
;;然后就可以使用 Ctrl-c 向左的箭头键 组合键,退回你的上一个窗口设置
;;(when (fboundp 'winner-mode)
;;(winner-mode)
;;(windmove-default-keybindings))  

;; 当光标在行尾上下移动的时候,始终保持在行尾。
(setq track-eol t)


;;自动保存模式
(setq auto-save-mode nil)

;; 设定不产生备份文件
(setq make-backup-files nil)

;;关闭菜单栏的命令
;;M-x menu-bar-mode
(menu-bar-mode nil)

;;M-x dired C-x d ==>dired mode
(setq dired-recursive-deletes t) ; 可以递归的删除目录
(setq dired-recursive-copies t) ; 可以递归的进行拷贝
(require 'dired-x) ; 有些特殊的功能

;;回到原来的位置,类Source Insight
;;M-.: 前进 ==>覆盖tags的相关设置
;;M-,: 后退 ==>覆盖tags的相关设置
;;(add-to-list 'load-path "/home/yuxu/emacs_els/recent-jump")
;;(require 'recent-jump)

;;(setq recent-jump-threshold 4)
;;(setq recent-jump-ring-length 10)

;;(setq rj-ring-length 1000)
;;(global-set-key (kbd "M-,") 'recent-jump-backward)
;;(global-set-key (kbd "M-.") 'recent-jump-forward)
  评论这张
 
阅读(641)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017