;;透明 (setf (frame-parameter nil 'alpha) 99)
;;start Emacs server/client (server-start)
;;Emacs进入shell模式时,解决乱码问题方法: (autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t) (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
;;设制切换输入法时,默认切换为chinese-py
;;theme (add-to-list 'load-path "/usr/share/emacs/site-lisp/color-theme-6.6.0") (require 'color-theme) (color-theme-initialize) (color-theme-xemacs)
;;------------------ Anfang: ido ------------------ (ido-mode t) (setq ido-enable-flex-matching t) ; fuzzy matching is a must have
;; This tab override shouldn't be necessary given ido's default ;; configuration, but minibuffer-complete otherwise dominates the ;; tab binding because of my custom tab-completion-everywhere ;; configuration. (add-hook 'ido-setup-hook (lambda () (define-key ido-completion-map [tab] 'ido-complete))) ;;------------------ Ende: ido ------------------
;;-----------------开始:基础Emacs配置--------------- ;;设置个人信息 (setq user-full-name "Li Bo") (setq user-mail-address "[email protected]")
;;禁用启动信息 (setq inhibit-startup-message t)
;;工具菜单栏消失 (tool-bar-mode nil)
;;设置全屏 (setq default-frame-alist '((height . 32) (width . 84) (menu-bar-lines . 20)))
;;在窗口的标题栏上显示文件名称 (setq frame-title-format "%n%F/%b")
;;显示光标位置 (setq line-number-mode t) ;;行 (setq column-number-mode t) ;;列 (put 'upcase-region 'disabled nil)
;;设置光标为竖线 (setq-default cursor-type 'bar) ;;设置光标为方块 ;(setq-default cursor-type 'box)
;;光标靠近鼠标指针时,让鼠标指针自动让开 (mouse-avoidance-mode 'animate)
;;设置让光标指到与当前符号匹配的符号 (show-paren-mode t) (setq show-paren-style 'parentheses)
;鼠标滚轮,默认的滚动太快,这里改为3行 (defun up-slightly () (interactive) (scroll-up 3)) (defun down-slightly () (interactive) (scroll-down 3)) (global-set-key [mouse-4] 'down-slightly) (global-set-key [mouse-5] 'up-slightly)
;;不产生备份文件和临时文件 (setq make-backup-files nil)
;;显示行号 (require 'linum) (global-linum-mode t)
;;段行,设置80列时换行 (setq default-fill-column 80)
;;设置tab为4个空格的宽度 (setq c-basic-offset 4) (setq default-tab-width 4) (setq-default indent-tabs-mode nil)
;;支持Emacs和外部程序的粘贴 (setq x-select-enable-clipboard t)
;;关闭出错提示音 (setq visible-bell t)
;;设置很大的kill ring (setq kill-ring-max 120)
;;设置缺省模式为org-mode,并非fundamental-mode (setq default-major-mode 'org-mode)
;;可以直接打开和显示图片 (auto-image-file-mode)
;;-----------------结束:基础Emacs配置---------------
;;-------------开始:C++相关配置------------- ;;使用desktop.el保存桌面环境 (desktop-save-mode 1)
;;hippie-expand自动补全 (global-set-key [(meta ?/)] 'hippie-expand) (setq hippie-expand-try-functions-list '(try-expand-dabbrev try-expand-dabbrev-visible try-expand-dabbrev-all-buffers try-expand-dabbrev-from-kill try-complete-file-name-partially try-complete-file-name try-expand-all-abbrevs try-expand-list try-expand-line try-complete-lisp-symbol-partially try-complete-lisp-symbol))
;;打开c或c++文件时,加载xcscope (load-file "/usr/share/emacs/site-lisp/xcscope.el") (add-hook 'c-mode-commen-hook '(lambda() (require 'xcscope)))
;;加载 doxymacs (require 'doxymacs) (add-hook 'c-mode-common-hook 'doxymacs-mode) (add-hook 'c++-mode-commen-hook 'doxymacs-mode) ;;注释高亮,针对C和C++程序 (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)
;命令 英文解释 中文解释 ;C-c d ?will look up documentation for the symbol under the point.查找当前鼠标点下的符号的文档 ;C-c d rwill rescan your Doxygen tags file. 重新扫描tags文件 ;C-c d fwill insert a Doxygen comment for the next function. 为函数插入Doxygen注释 ;C-c d iwill insert a Doxygen comment for the current file. 为文件插入Doxygen注释 ;C-c d ;will insert a Doxygen comment for the current member. 为当前成员插入Doxygen注释 ;C-c d mwill insert a blank multiline Doxygen comment. 插入多行注释 ;C-c d swill insert a blank singleline Doxygen comment. 插入单行注释 ;C-c d @will insert grouping comments around the current region.插入环绕当前区域的注释
(defconst doxymacs-C++-file-comment-template '( "/***********************************************************************" > n "*" > n "* " "FILE NAME :" (if (buffer-file-name) (file-name-nondirectory (buffer-file-name)) "") > n "*" > n "*" " DESCRIPTION :"> n "*" > n "*" " "> n "*" > n "*" " HISTORY :"> n "*" > n "*" " See Log at end of file"> n "*" > n "*" "Copyright (c) 2006, VIA Technologies, Inc."> n "*" "*******************************************************************/"> n) "Default C++-style template for file documentation.")
;;CEDET (load-file "/usr/share/emacs/site-lisp/cedet-1.0pre7/common/cedet.el") (require 'cedet) (semantic-load-enable-code-helpers) ;(semantic-load-enable-excessive-code-helpers) (semantic-load-enable-semantic-debugging-helpers)
(setq semanticdb-project-roots (list (expand-file-name "/"))) (defconst cedet-user-include-dirs (list ".." "../include" "../inc" "../common" "../public" "../.." "http://www.cnblogs.com/include" "http://www.cnblogs.com/inc" "http://www.cnblogs.com/common" "http://www.cnblogs.com/public")) (require 'semantic-c nil 'noerror) (let ((include-dirs cedet-user-include-dirs)) (mapc (lambda (dir) (semantic-add-system-include dir 'c++-mode) (semantic-add-system-include dir 'c-mode)) include-dirs))
;;补全快捷键 (define-key c-mode-base-map (kbd "M-n") 'semantic-ia-complete-symbol-menu)
;;ECB (add-to-list 'load-path "/usr/share/emacs/site-lisp/ecb-2.40") (require 'ecb) (require 'ecb-autoloads) ;;自动启动ECB,并且不显示每日提示 (setq ecb-auto-activate t) (setq ecb-tip-of-the-day nil)
;;使用session.el来保存相关变量,且不多org-mode进行保存 (require 'session) (add-hook 'after-init-hook 'session-initialize) (add-to-list 'session-globals-exclude 'org-mark-ring)
;;-------------结束:C++相关配置-------------
;;---------------开始:快捷键设置---------------
;;F1 进入终端 (global-set-key [(f1)] 'shell)
;;F4 代码跳转 (global-set-key [(f4)] 'semantic-ia-fast-jump)
;;Shift+F4 代码反跳转 (global-set-key [S-f4] (lambda () (interactive) (if (ring-empty-p (oref semantic-mru-bookmark-ring ring)) (error "Semantic Bookmark ring is currently empty")) (let* ((ring (oref semantic-mru-bookmark-ring ring)) (alist (semantic-mrub-ring-to-assoc-list ring)) (first (cdr (car alist)))) (if (semantic-equivalent-tag-p (oref first tag) (semantic-current-tag)) (setq first (cdr (car (cdr alist))))) (semantic-mrub-switch-tags first))))
;;F5 调试程序 (global-set-key [(f5)] 'gdb)
;;;F11 打开ECB ;(global-set-key [(f11)] 'ecb-activate) ; ;;;F12 关闭ECB ;(global-set-key [(f12)] 'ecb-deactivate)
;;---------------结束:快捷键设置--------------
|
请发表评论