优化emacs 界面显示设置

(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.
 )
(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.
 '(default ((t (:inherit nil :stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 115 :width normal :foundry "unknown" :family "DejaVu Sans Mono")))))



(defconst my-c-style
  '((c-basic-offset . 4)
    (c-tab-always-indent        . nil)
    (c-comment-only-line-offset . 0)
    (c-hanging-braces-alist     . ((substatement-open after)
                                   (brace-list-open)))
    (c-hanging-colons-alist     . ((member-init-intro before)
                                   (inher-intro)
                                   (case-label after)
                                   (label after)
                                   (access-label after)))
    (c-cleanup-list             . (scope-operator
                                   empty-defun-braces
                                   defun-close-semi))
    (c-offsets-alist            . ((arglist-close . c-lineup-arglist)
                                   (substatement-open . 0)
                                   (case-label        . 4)
                                   (block-open        . 0)
                                   (inline-open . 0)
                                   (brace-list-open . +)
                                   (knr-argdecl-intro . -)))
    (c-echo-syntactic-information-p . t))
  "My C Programming Style")

;; Customizations for all of c-mode, c++-mode, and objc-mode
(defun my-c-mode-common-hook ()
  ;; add my personal style and set it for the current buffer
  (c-add-style "ME" my-c-style t)
  ;; offset customizations not in my-c-style
  (c-set-offset 'member-init-intro '++)
  ;; other customizations
  (setq tab-width 8)
  ;; this will make sure TABs can be used to replace 8-spaces
  (setq indent-tabs-mode t)
  ;; we like auto-newline and hungry-delete
  ;; (c-toggle-auto-hungry-state 1)
  ;; keybindings for all supported languages.  We can put these in
  ;; c-mode-map because c++-mode-map, objc-mode-map, and java-mode-map
  ;; inherit from it.
  (define-key c-mode-map "\C-m" 'newline-and-indent))

; the following only works in Emacs 19 and later
; Emacs 18ers can use (setq c-mode-common-hook 'my-c-mode-common-hook)
(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)


;; 显示行号
(add-to-list 'load-path "/usr/share/emacs23/site-lisp")
(require 'linum)
(global-linum-mode 1)
;; 显示列号
(column-number-mode t)

;; 显示时间
(display-time-mode 1)
;; 24小时格式
(setq display-time-24hr-format t)
;; 显示日期
(setq display-time-day-and-date t)
;; 将yes/no替换为y/n
(fset 'yes-or-no-p 'y-or-n-p)
;; 光标移动到鼠标下时,鼠标自动弹开
(mouse-avoidance-mode 'animate)
;; 好像没有什么用处,等待以后检验
;; insert-date
(defun insert-date ()
  "Insert date at point."
  (interactive)
  (insert (format-time-string "%Y年%m月%e日 %l:%M %a %p")))

;; 使用auto-complete
(add-to-list 'load-path "/usr/share/emacs23/site-lisp")
(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "/usr/share/emacs23/site-lisp/ac-dict")
(ac-config-default)
;; 使用yasnippet
(add-to-list 'load-path "/usr/share/emacs23/site-lisp/yasnippet")
(require 'yasnippet)
(yas-global-mode 1)
;;自动补全括号
(add-to-list 'load-path "/usr/share/emacs23/site-lisp") ;; comment if autopair.el is in standard load path
(require 'autopair)
(autopair-global-mode 1) ;; enable autopair in all buffers



;; 定义字体集
(create-fontset-from-fontset-spec
 "-*-dejavu sans mono-medium-r-normal--13-*-*-*-*-*-fontset-fixend")

;; 设置默认字体
(set-default-font "fontset-fixend")

;; 新建frame时也应用字体设置
(setq default-frame-alist
      (append
       '((font . "fontset-fixend")) default-frame-alist))

;; 设置中文字体
(set-fontset-font
 "fontset-default" nil
 "-*-wenquanyi bitmap song-normal-*-large--12-*-*-*-*-*-iso10646-1"
 nil 'prepend)

(set-fontset-font
 "fontset-fixend" 'kana
 "-*-wenquanyi bitmap song-normal-*-large--12-*-*-*-*-*-iso10646-1"
 nil 'prepend)

(set-fontset-font
 "fontset-fixend" 'han
 "-*-wenquanyi bitmap song-normal-*-large--12-*-*-*-*-*-iso10646-1"
 nil 'prepend)

(set-fontset-font
 "fontset-fixend" 'cjk-misc
 "-*-wenquanyi bitmap song-normal-*-large--12-*-*-*-*-*-iso10646-1"
 nil 'prepend)
;; 添加程序注释,组合键为C+;
(defun qiang-comment-dwim-line (&optional arg)  
    "Replacement for the comment-dwim command."  
    (interactive "*P")  
    (comment-normalize-vars)  
    (if (and (not (region-active-p)) (not (looking-at "[ \t]*$")))  
    (comment-or-uncomment-region (line-beginning-position) (line-end-position))  
    (comment-dwim arg)))  
(global-set-key (kbd "C-;") 'qiang-comment-dwim-line)  


;;可以用shift+箭头来改变窗口
;;(windmove-default-keybindings 'shift)

你可能感兴趣的:(LINUX学习,Emacs,emacs学习)