;; add my paths to load-path (add-to-list 'load-path "~/.emacs.d/session") (add-to-list 'load-path "~/.emacs.d/lisp") ;; setup fontset (if window-system (progn ;; font setting (set-frame-font "Bitstream Vera Sans Mono-9") (set-fontset-font (frame-parameter nil 'font) 'han '("Microsoft Yahei" . "unicode-bmp")) ;; window positioning (setq default-frame-alist '((top . 0) (left . 0) (width . 174) (height . 51))))) ;; setup show startup message (setq inhibit-startup-message t) ;; don't backup files (setq-default make-backup-files nil) (require 'site-win32) ;; load cedet, semantic and ecb (setq ecb-auto-activate t) (setq ecb-tip-of-the-day nil) (setq semantic-load-turn-useful-things-on t) (require 'cedet) (require 'ecb) (require 'semanticdb) (require 'semantic-ia) (require 'semantic-load) (semantic-load-enable-code-helpers) (global-set-key [(control p)] 'semantic-ia-complete-symbol-menu) (global-semantic-show-unmatched-syntax-mode -1) (add-to-list 'semantic-lex-c-preprocessor-symbol-map '("SEXY_EXPORT" . "")) ;; set color theme if emacs is windowed (require 'color-theme) (color-theme-initialize) (if window-system (progn (color-theme-bharadwaj-slate))) ;;color terminal (require 'ansi-color) (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) ;; ask for y or n instead (fset 'yes-or-no-p 'y-or-n-p) (transient-mark-mode t) (add-hook 'find-file-hooks 'auto-insert) (show-paren-mode t) ;;(setq lazy-lock-defer-on-scrolling t) ;;(setq font-lock-support-mode 'lazy-lock-mode) ;;(setq font-lock-maximum-decoration t) ;; setup keybinds (global-set-key [f5] 'ecb-activate) (global-set-key [f6] 'ecb-deactivate) (global-set-key [f9] 'compile) (global-set-key [f12] 'gdb) ;;session (require 'session) (add-hook 'after-init-hook 'session-initialize) ;; setup tabbar (require 'tabbar) (tabbar-mode) (global-set-key [(s-down)] 'tabbar-backward-group) (global-set-key [(s-up)] 'tabbar-forward-group) (global-set-key (kbd "s-b") 'tabbar-backward) (global-set-key (kbd "s-f") 'tabbar-forward) ;; kill a line (defun kill-whole-line nil "delete the whole line" (interactive) (beginning-of-line) (push-mark) (beginning-of-line 2) (kill-region (point) (mark))) (global-set-key "\M-\S-d" 'kill-whole-line) ;; compile .emacs (defun autocompile nil "compile itself if ~/.emacs" (interactive) (if (string= (buffer-file-name) (concat default-directory ".emacs")) (byte-compile-file (buffer-file-name)))) (add-hook 'after-save-hook 'autocompile) ;; setup cc styles (require 'setup-cc-styles) ;; guess offset (require 'guess-offset) ;;M-x desktop-clear ;;(load "desktop") ;;(desktop-save-mode) ;;(desktop-read) ;;(global-set-key [f11] 'desktop-save) (require 'doxymacs) (add-hook 'c-mode-common-hook 'doxymacs-mode) ;; emacs (add-to-list 'auto-mode-alist '("emacs/emacs" . lisp-mode)) ;; scons (add-to-list 'auto-mode-alist '("SConstruct" . python-mode)) (add-to-list 'auto-mode-alist '("SConscript" . python-mode)) (add-to-list 'interpreter-mode-alist '("python" . python-mode)) ;; Set the fill column to 70 for human text, and 80 for code. ;;(add-hook 'text-mode-hook '(lambda () (set-fill-column 70))) ;;(add-hook 'c-mode-hook '(lambda () (set-fill-column 80))) ;;(add-hook 'c++-mode-hook '(lambda () (set-fill-column 80))) ;;(add-hook 'python-mode-hook '(lambda () (set-fill-column 80))) ;;(add-hook 'java-mode-hook '(lambda () (set-fill-column 80))) ;; setup auto-complete-mode (require 'setup-auto-complete) (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) '(display-time-mode t) '(ecb-options-version "2.40") '(ecb-source-path (quote (("e:/Projects" "Projects")))) '(scroll-bar-mode (quote right)) '(show-paren-mode t) '(show-trailing-whitespace t) '(size-indication-mode t) '(transient-mark-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. ) (put 'narrow-to-region 'disabled nil)