免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: flw
打印 上一主题 下一主题

有关 Emacs 使用技巧的内容请在这个帖子讨论。 [复制链接]

论坛徽章:
0
361 [报告]
发表于 2006-05-15 18:15 |只看该作者

emacs版好冷呀!!!


最近来CU逛逛,总是先到emacs版中转转,可惜没有看到有任何可以学习的好贴子。怎么这段时间来,emacs的强悍就没有多少人能玩得转啦?望请熟悉emacs的高手还是照顾一下emacs版吧!!

论坛徽章:
0
362 [报告]
发表于 2006-05-17 22:30 |只看该作者

有谁在emacs 21.*和最新CVS版的emacs 23.*中查看过tarball软件?如abc.tar.gz或abc.tar.bz2。大家可以试试。

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
363 [报告]
发表于 2006-05-23 09:48 |只看该作者
正好我要学习一下。

论坛徽章:
0
364 [报告]
发表于 2006-06-17 09:13 |只看该作者
emacs强大

论坛徽章:
0
365 [报告]
发表于 2006-06-25 00:28 |只看该作者
我用XEmacs,写LISP/Scheme比较多一点。我的XEmacs设置参考了sams的Emacs tutorial in 24 hours, Steve Youngs的个人配置文件(太大方了,什么时候R.Stallman和Gosling也能共享一下自己的配置文件?等着这一天),Slime作者Marco Baringer的个人Emacs建议(Cliki上有)。配置文件不全,给个框架而已,因为优秀的Emacs程序太多了,放在一个文件里可以说是一团糟。Emacs需要不断演化,我对这个框架比较满意。

写LISP程序有一个library非常好,paredit,智能得匹配括号。
至LISP的开发环境,我用SBCL+SLIME。

唯一能和Emacs匹敌的,可能就是Lispworks的编辑器了,不知道各位有没有人用过。
不过Emacs的最大好处就是手不用离开键盘。甚至很少用到右边的那部分键。

Emacs22就快出来了,功能增加非常多,很有诱惑力,可惜从XEmacs转移过去不知道有得花费多久调试设置。
有人给Emacs22写了个abbreviation系统,非常强大,各位可以看看,他网站上有demo,名字叫msf-abbrev

目录结构如下:
|
|--> ~/.xemacs/     init.el, custom.el
|
|--> ~/etc/XEmacs/  各种Emacs的程序和配置文件
                         |
                         |--> emacs-lisp/       官方的,他人的脚本程序
                         |
                         |--> mode-abbrevs/    msf-abbrev所使用的目录
                         |
                         |--> my-lisp/     自己的脚本,主要为自定义的各种模式的key abbreviation
                         |
                         |--> not-used/    优秀的脚本库,可惜不兼容或者暂时不打算使用(放着放着一般就忘了~)


1,这个是~/.xemacs/init.el

;; -*- Emacs-Lisp -*-
;; Mainly based on configurations by Steve Youngs. Great thanks.

;; This is my `user-init-file' (~/.xemacs/init.el).  I like a "modular"
;; approach to things, so all this file does is load the various other
;; init files.  All the files that this loads are in ~/etc/XEmacs/
;;

;; Add ~/etc/XEmacs to the load-path
(push (file-name-as-directory
       (expand-file-name "etc/XEmacs" (getenv "HOME"))) load-path)
(push (file-name-as-directory
       (expand-file-name "etc/XEmacs/emacs-lisp" (getenv "HOME"))) load-path)
(push (file-name-as-directory
       (expand-file-name "etc/XEmacs/my-lisp" (getenv "HOME"))) load-path)
(push (file-name-as-directory
       (expand-file-name "etc/XEmacs/emacs-lisp/ocaml-mode" (getenv "HOME"))) load-path)
(push (file-name-as-directory
       (expand-file-name "etc/XEmacs/emacs-lisp/slime" (getenv "HOME"))) load-path)
(push (file-name-as-directory
       (expand-file-name "etc/XEmacs/emacs-lisp/w3m" (getenv "HOME"))) load-path)

;:*======================
;:* This is where it all starts...
;;;  
;;
(load "pkgs") ;
(load "vars") ;
(load "keys") ;
; emacs base settings
(load "misc") ;
(load "fonts") ;
(when (featurep 'toolbar)
  (load "toolbar")) ;
(load "autostart");
; programming modes
(load "my-c-mode") ;
(load "my-ruby-mode") ;
(load "my-java-mode") ;
(load "my-scheme-mode") ;
(load "my-lisp-mode") ;
(load "my-ocaml-mode") ;
(load "my-perl-mode") ;
(load "my-tcl-mode");
(load "my-elisp-mode");
; authoring modes
(load "my-text-mode");
(load "my-latex-mode") ;
(load "my-html-mode") ;
; applications
(load "my-erc-mode") ;
(load "w3") ;
;(load "w3m") ;
(load "cal") ;


;:*======================
;:* XEmacs ready for take-off!!!
(let ((string "XEmacs ready for take-off!!!"))
  (string-match "XEmacs ready for take-off!!!" string)
  (put-text-property (match-beginning 0) (match-end 0) 'face 'red string)
  (display-message 'message string)
  (sit-for 1))



===========================================

2, 这个是my-lisp-mode.el

; (defun cliki:start-slime ()
;   (unless (slime-connected-p)
;     (save-excursion (slime))))

; (add-hook 'slime-mode-hook 'cliki:start-slime)

(add-hook 'lisp-mode-hook
          ;; run (slime-connect) after initialization.
          (lambda ()
            (load-library "my-lisp-abbrev.el")
            (require 'slime)
            (vc-load-vc-hooks)
            (slime-setup)
            (slime-mode t)
            ;; msf-abbrev
            (require 'msf-abbrev)
            (setq msf-abbrev-verbose t) ;; optional
            (setq msf-abbrev-root "~/etc/XEmacs/mode-abbrevs")
            (local-set-key (kbd "C-c msf l") 'msf-abbrev-goto-root)
            (local-set-key (kbd "C-c msf a") 'msf-abbrev-define-new-abbrev-this-mode)
            (msf-abbrev-load)
            ;; continue
            ;; switch [] and ()
            (keyboard-translate ?\( ?\[)
            (keyboard-translate ?\[ ?\()
            (keyboard-translate ?\) ?\])
            (keyboard-translate ?\] ?\))
            (define-key slime-mode-map (kbd "(") 'paredit-open-parenthesis)
            (define-key slime-mode-map (kbd ")") 'paredit-close-parenthesis)
            ;;(define-key slime-mode-map (kbd "\M-)") 'paredit-close-brace-and-newline)
            (define-key slime-mode-map (kbd "\M-s") 'paredit-splice-sexp)
            (define-key slime-mode-map [(backspace)] 'paredit-backward-delete)
            (define-key slime-mode-map [(meta backspace)] 'paredit-backward-kill-word)
            (define-key slime-mode-map (kbd "\M-)") 'paredit-forward-slurp-sexp)
            (define-key slime-mode-map (kbd "\M-(") 'paredit-backward-slurp-sexp)
            (define-key slime-mode-map (kbd "\M-}") 'paredit-forward-barf-sexp)
            (define-key slime-mode-map (kbd "\M-{") 'paredit-backward-barf-sexp)
            (define-key slime-mode-map (kbd "\M-]") 'paredit-splice-sexp)
            (define-key slime-mode-map (kbd "\M-[") 'paredit-wrap-sexp)
            (define-key slime-mode-map [(return)] 'paredit-newline)
            (local-set-key [(meta /)] 'slime-fuzzy-complete-symbol)
            (local-set-key '(f3) 'elispcomment)))

(add-hook 'inferior-lisp-mode-hook
          (lambda ()
            (inferior-slime-mode t)))

(setq inferior-lisp-program "/usr/bin/lisp"
      lisp-indent-function 'common-lisp-indent-function
      slime-complete-symbol-function 'slime-fuzzy-complete-symbol
      common-lisp-hyperspec-root "file:///usr/share/doc/HyperSpec/"
      slime-startup-animation t)


;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
(message "Common Lisp mode initialised.")



====================================================

3, my-lisp-abbrev.el

(define-abbrev-table 'lisp-mode-abbrev-table
    '(
      ("htat" "that " nil 0)
      ("teh" "the " nil 0)
      ("hte" "the " nil 0)
      ("taht" "that " nil 0)
      ("(df" "(defun" nil 0)
      ("(dp" "(defparameter" nil 0)
      ("(dv" "(defvar" nil 0)
      ("(dk" "(defconstant" nil 0)
      ("(ds" "(defstruct" nil 0)
      ("(dt" "(deftest" nil 0)
      ("(dc" "(defclass" nil 0)
      ("(dg" "(defmethod" nil 0)
      ("(dm" "(defmacro" nil 0)
      ("(mi" "(make-instance" nil 0)
    ))

[ 本帖最后由 hadeshuang 于 2006-6-25 20:07 编辑 ]

论坛徽章:
0
366 [报告]
发表于 2006-06-25 00:51 |只看该作者
另外提一下,var.el,misc.el的区别:
var.el: 各种软件的推荐设置。
misc.el: XEmacs操作和界面的推荐设置

个人定义的参数应该放在
~/.xemacs/custom.el文件下面

Emacs的用户将XEmacs改成Emacs。

论坛徽章:
0
367 [报告]
发表于 2006-06-25 01:12 |只看该作者

key.el

个人认为Emacs最强大的优点是每个键都是一个function,这样就建立了一个非常棒抽象层。
而Emacs的keymacro也是我最喜爱的。
感觉key定义太多很难记?用用keywiz吧,休息的时候当作游戏玩。

祝大家都能掌握Emacs的精髓(我只是写写程序而已,刚起步,正打算让Emacs做更多的事情,不过ELisp有点不合口味,等待支持Common Lisp的Hemlock)。


;: -*- emacs-lisp -*-


(require 'paredit)
(require 'keywiz)

;:*=======================
;:* Global key bindings
(global-set-key "\C-xw" 'what-line)
(global-set-key "\C-xv" 'view-file)
(global-set-key [f12] 'start-kbd-macro)
(global-set-key [f10] 'end-kbd-macro)
(global-set-key [f11] 'call-last-kbd-macro)

;; PLT Scheme like
(global-set-key [(meta left)] 'backward-sexp)
(global-set-key [(meta right)] 'forward-sexp)
(global-set-key [(meta up)] 'backward-up-list)
(global-set-key [(meta down)] 'down-list)

(global-set-key [(control prior)] 'bury-buffer)
(global-set-key [(control next)] 'yic-next-buffer)

(global-set-key [(control meta prior)] 'other-window)
(global-set-key [(control meta next)] 'sams-other-window-backwards)

(global-set-key [home] 'beginning-of-buffer)
(global-set-key [end] 'end-of-buffer)

;:*=======================
;:* Spell check and complete
(global-set-key "\M- " 'dabbrev-expand)
(global-set-key "\M-/" 'ispell-complete-word)
(global-set-key [(control meta space)] 'hippie-expand)

;:*=======================
;:* Enable menubar accelerators (double-wow!)
;:* FIXME: Need the latest patch!!!
; (setq menu-accelerator-enabled 'menu-fallback)
; (setq menu-accelerator-modifiers '(super))
; (setq menu-accelerator-prefix nil)
; (define-key global-map [(control f11)] 'accelerate-menu)

;:*=======================
;:* Popup window with buffer list ; from XEmacs FAQ (2.61)
(defun cw-build-buffers ()
  "Popup buffer menu."
  (interactive "@")
  (run-hooks 'activate-menubar-hook)
  (popup-menu (car (find-menu-item current-menubar '("Buffers")))))
(global-set-key [(meta f11)] 'cw-build-buffers)

;:*=======================
;:* keymapping to resize frames
(define-key global-map [(control x) (up)] 'shrink-window)
(define-key global-map [(control x) (down)]  #'(lambda ()
                                                 (interactive "_")
                                                 (shrink-window -3)))
(define-key global-map [(control x) (left)] 'shrink-window-horizontally)
(define-key global-map [(control x) (right)]  #'(lambda ()
                                                  (interactive "_")
                                                  (shrink-window-horizontally -3)))

;:*=======================
;:* Set C-x C-b to use ibuffer
(define-key global-map [(control x) (control b)] 'ibuffer)

;:*=======================
;:* Bind the Euro to a key
(define-key global-map "\C-ce"
  (lambda ()
    (interactive)
    (insert (make-char 'latin-iso8859-15 #x24))))

;:*=======================
;:* Extra Mouse buttons (wheel etc)
(require 'mwheel)
(define-key global-map [(button4)] 'mwheel-scroll)
(define-key global-map [(button5)] 'mwheel-scroll)
(define-key global-map [(shift button4)] 'mwheel-scroll)
(define-key global-map [(shift button5)] 'mwheel-scroll)
(setq mwheel-follow-mouse t)
(mwheel-install)

;:*=======================
;:* Numeric keypad
; (define-key key-translation-map [kp-divide]     [?/])
; (define-key key-translation-map [kp-multiply]   [?*])
; (define-key key-translation-map [kp-subtract]   [?-])
; (define-key key-translation-map [kp-add]        [?+])
; (define-key key-translation-map [kp-enter]     [?\r])
; (define-key key-translation-map [kp-decimal]    [?.])
; (define-key key-translation-map [kp-begin]   [begin])
; (define-key key-translation-map [kp-home]     [home])
; (define-key key-translation-map [kp-end]       [end])
; (define-key key-translation-map [kp-next]     [next])
; (define-key key-translation-map [kp-prior]   [prior])
; (define-key key-translation-map [kp-left]     [left])
; (define-key key-translation-map [kp-right]   [right])
; (define-key key-translation-map [kp-up]         [up])
; (define-key key-translation-map [kp-down]     [down])
; (define-key key-translation-map [kp-insert] [insert])
; (define-key key-translation-map [kp-delete] [delete])
; (define-key key-translation-map [kp-0]          [?0])
; (define-key key-translation-map [kp-1]          [?1])
; (define-key key-translation-map [kp-2]          [?2])
; (define-key key-translation-map [kp-3]          [?3])
; (define-key key-translation-map [kp-4]          [?4])
; (define-key key-translation-map [kp-5]          [?5])
; (define-key key-translation-map [kp-6]          [?6])
; (define-key key-translation-map [kp-7]          [?7])
; (define-key key-translation-map [kp-8]          [?8])
; (define-key key-translation-map [kp-9]          [?9])

;:*=======================
;:* control o : change to outline mode prefix
(define-key global-map [(meta o)] 'open-line)

;:*=======================
;:* tab indent settings
(setq-default tab-width 4)
(setq-default indent-tabs-mode nil)
(setq tab-stop-list '(4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72))
;(global-set-key [iso-left-tab] 'indent-relative)

;;:*=======================
;;:* abbrev mode
(defun smart-space () ; make the space key behave in a smarter way
  (interactive)
  (if (not (expand-abbrev))
      (insert " ")))

(global-set-key [(space)] 'smart-space) ; bind the 'smart-space' function to the 'space' key

;:*=======================
;:* outline mode prefix
(setq-default outline-minor-mode-prefix [(control o)])
(add-hook 'outline-minor-mode 'outl-mouse-minor-mode)

;:*=======================
;:* elisp mode keys
(add-hook 'emacs-lisp-mode-hook
          (lambda ()
            (local-set-key [(meta /)] 'hippie-expand)
            (local-set-key '(f3) 'elispcomment)))

;:*=======================
;:* new line
(defalias 'my-newline
  (read-kbd-macro "C-n C-a RET C-p TAB"))

(defalias 'my-previous-newline
  (read-kbd-macro "C-p C-e RET TAB"))

(global-set-key [(meta n)] 'my-newline)
(global-set-key [(meta p)] 'my-previous-newline)

(global-set-key [(return)] 'newline-and-indent)

;:*=======================
;:* fume mode
(define-key global-map "\C-cl" 'fume-list-functions)
(define-key global-map "\C-cg" 'fume-prompt-function-goto)
(define-key global-map '(control button3) 'mouse-function-menu)

;:*=======================
;:* Kyle Jones' redo package.
(when running-xemacs
  (require 'redo)
  ;(global-set-key "\C-^" 'redo)         ; for tty-s...
  ;(global-set-key [(control ?6)] 'redo) ; ...and for X
  (global-set-key "\M-_" 'redo))        ; universal
(require 'scroll-in-place)

;:*=======================
;:* comment-region
;:  Comment or uncomment each line in the region.
;:  Comments are terminated on each line, even for syntax in which newline does
;:  not end the comment.  Blank lines do not get comments.
(global-set-key '(control f10)  'comment-region)
(global-set-key '(meta f10) 'uncomment-region)

;:*=======================
;:* speed bar
(global-set-key [(control f8)] 'speedbar-get-focus)

;:*=======================
;:* kill words and trim spaces
(defalias 'raise-to-prev-line
    (read-kbd-macro "C-a C-t <backspace> C-t"))

(defalias 'drop-to-next-line
    (read-kbd-macro "RET C-M-f"))

;:*=======================
;:* trim spaces
(define-key global-map [(control backspace)] 'raise-to-prev-line)
(define-key global-map [(control return)] 'drop-to-next-line)
(define-key global-map [(control t)] 'fixup-whitespace)

;:*=======================
;:* kill word
(define-key global-map [(meta backspace)] 'backward-kill-word)

;:*=======================
;:* mark
(global-unset-key (kbd "\C-x m")) ; so that we can define it as a prefix
(global-set-key (kbd "\C-x m s") 'mark-end-of-sentence)
(global-set-key (kbd "\C-x m l") 'mark-end-of-line)
(global-set-key (kbd "\C-x m p") 'mark-paragraph)
(global-set-key (kbd "\C-x m e") 'mark-sexp)
(global-set-key (kbd "\C-x m w") 'mark-word)

;:*=======================
;:* captalize
(defun upcase-previous-word ()
  (interactive)
  (backward-word)
  (upcase-word 1))

(global-set-key (kbd "\M-u") 'upcase-previous-word)


;:*=======================
;:* double quote
(define-key global-map "\"" 'paredit-doublequote)

  
;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
(message "Key maps set successfully")

[[i] 本帖最后由 hadeshuang 于 2006-6-25 01:14 编辑 [/i]]

论坛徽章:
0
368 [报告]
发表于 2006-06-25 01:20 |只看该作者

font.el

这个基本上就没动过,Steve Youngs的版本
去掉了一些不兼容的脚本,所以具体的请看原版。

;;; -*- Mode: Emacs-Lisp -*-
;:* $Id: fonts-sy.el,v 1.1 2003-10-17 23:36:42+10 steve Exp steve $

;:*=======================
;:* ISO-8859-1 support
(require 'x-compose)
(global-set-key "\C-cm" 'compose-map)


;:*=======================
;:* Turn on Lazy-(lock|shot)
;; Lazy-lock
; (require 'lazy-lock)
; (if (eq emacs-minor-version 5)
;     (setq font-lock-support-mode 'lazy-lock-mode)
;     (add-hook 'font-lock-mode-hook 'turn-on-lazy-lock))
; (setq lazy-lock-stealth-time 15)

;; Lazy-shot (my preference)
(add-hook 'font-lock-mode-hook 'turn-on-lazy-shot)

;:*=======================
;:* describe-face-at-point, a function to find out which face is which
(defun describe-face-at-point ()
  "Return face used at point."
  (interactive)
  (hyper-describe-face (get-char-property (point) 'face)))

;:*=======================
;:* Alex Schroeder's color-theme
;;
;; A very nice package, get it from:
;;     <http://www.emacswiki.org/cgi-bin/wiki.pl?ColorTheme>
(require 'color-theme)
(autoload 'color-theme-install "color-theme")
(defun my-colour-theme ()
   "Colour theme by Steve Youngs, created 2001-09-01."
   (interactive)
   (color-theme-install
    '(my-colour-theme
      ;; Misc basic stuff.
      ((background-color . "black")
       (frame-background-mode . dark)
       (background-toolbar-color . "#cccccccccccc")
       (border-color . "#000000000000")
       (bottom-toolbar-shadow-color . "#7a7a7a7a7a7a")
       (cursor-color . "red3")
       (foreground-color . "white")
       (top-toolbar-shadow-color . "#f5f5f5f5f5f5"))
      ((buffers-tab-face . buffers-tab)
       (cperl-here-face . font-lock-string-face)
       (cperl-invalid-face quote underline)
       (cperl-pod-face . font-lock-comment-face)
       (cperl-pod-head-face . font-lock-variable-name-face)
       (paren-match-face . paren-face-match)
       (paren-mismatch-face . paren-face-mismatch)
       (paren-no-match-face . paren-face-no-match)
       (smiley-mouse-face . highlight)
       (vc-mode-face . highlight))
      (default ((t (:size "12pt" :family "bitstream vera sans mono" :background "black" :foreground "gray90" ))))
      (about-headline-face ((t (:bold t :foreground "HotPink"))))
      (about-link-face ((t (:bold t :foreground "Yellow"))))
      (blue ((t (:foreground "blue"))))
      (bold ((t (:bold t))))
      (border-glyph ((t (nil))))
      (buffers-tab ((t (:bold t :background "grey65" :foreground "black"))))
      (green ((t (:foreground "green"))))
      (gui-button-face ((t (:background "grey75" :foreground "black"))))
      (gui-element ((t (nil))))
      (highlight ((t (:background "darkseagreen2" :foreground "yellow3"))))
      (italic ((t (:italic t :size "14pt"))))
      (bold-italic ((t (:italic t :bold t))))
      (left-margin ((t (nil))))
      (list-mode-item-selected ((t (:background "gray68" :foreground "white"))))
      (pointer ((t (:foreground "green3"))))
      (primary-selection ((t (:background "gray65"))))
      (red ((t (:foreground "red"))))
      (right-margin ((t (nil))))
      (secondary-selection ((t (:background "paleturquoise"))))
      (text-cursor ((t (:background "red3" :foreground "black"))))
      (toolbar ((t (nil))))
      (underline ((t (:underline t))))
      (vertical-divider ((t (nil))))
      (yellow ((t (:foreground "yellow"))))
      ;; Calendar/Diary.
      (calendar-today-face ((t (:bold t :foreground "HotPink"))))
      (diary-face ((t (:foreground "Cyan"))))
      (holiday-face ((t ( :foreground "Yellow"))))
      ;; cperl-mode.
      (cperl-array-face ((t (:bold t :foreground "Blue"))))
      (cperl-hash-face ((t (:bold t :foreground "Red"))))
      (cperl-nonoverridable-face ((t (:foreground "chartreuse3"))))
      ;; Custom
      (custom-group-tag-face ((t (:foreground "Yellow"))))
      (custom-state-face ((t (:foreground "Cyan"))))
      (custom-variable-tag-face ((t (:foreground "LawnGreen"))))
      ;; PCL-CVS
      (cvs-filename-face ((t (:bold t :foreground "Yellow"))))
      (cvs-header-face ((t (:foreground "Green"))))
      (cvs-msg-face ((t ( :foreground "Cyan"))))
      ;; dictionary
      (dictionary-word-entry-face ((t (:italic nil :foreground "Green"))))
      (dictionary-reference-face ((t (:foreground "Yellow"))))
      ;; diff-mode
      (diff-added-face ((t ( :foreground "LawnGreen"))))
      (diff-changed-face ((t ( :foreground "Cyan"))))
      (diff-file-header-face
       ((t ( :foreground "BlanchedAlmond"))))
      (diff-header-face ((t ( :foreground "BlanchedAlmond"))))
      (diff-hunk-header-face ((t ( :foreground "Yellow"))))
      (diff-index-face ((t ( :foreground "Orange"))))
      (diff-removed-face ((t ( :foreground "HotPink"))))
      ;; Dired.
      (dired-face-boring ((t (:foreground "Gray65"))))
      (dired-face-directory ((t (:bold t))))
      (dired-face-executable ((t (:foreground "SeaGreen"))))
      (dired-face-flagged ((t (:background "LightSlateGray"))))
      (dired-face-header ((t (:background "grey75" :foreground "black"))))
      (dired-face-marked ((t (:background "PaleVioletRed"))))
      (dired-face-permissions ((t (:background "grey75" :foreground "black"))))
      (dired-face-setuid ((t (:foreground "Red"))))
      (dired-face-socket ((t (:foreground "magenta"))))
      (dired-face-symlink ((t (:foreground "cyan"))))
      ;; Balloon Help.
      (display-time-mail-balloon-enhance-face ((t (:background "orange"))))
      (display-time-mail-balloon-gnus-group-face ((t (:foreground "blue"))))
      (display-time-time-balloon-face ((t (:foreground "red"))))
      ;; Ediff
      (ediff-current-diff-face-A
       ((t (:background "pale green" :foreground "firebrick"))))
      (ediff-current-diff-face-Ancestor
       ((t (:background "VioletRed" :foreground "Black"))))
      (ediff-current-diff-face-B
       ((t (:background "Yellow" :foreground "DarkOrchid"))))
      (ediff-current-diff-face-C ((t (:background "Pink" :foreground "Navy"))))
      (ediff-even-diff-face-A ((t (:background "light grey" :foreground "Black"))))
      (ediff-even-diff-face-Ancestor ((t (:background "Grey" :foreground "White"))))
      (ediff-even-diff-face-B ((t (:background "Grey" :foreground "White"))))
      (ediff-even-diff-face-C ((t (:background "light grey" :foreground "Black"))))
      (ediff-fine-diff-face-A ((t (:background "sky blue" :foreground "Navy"))))
      (ediff-fine-diff-face-Ancestor
       ((t (:background "Green" :foreground "Black"))))
      (ediff-fine-diff-face-B ((t (:background "cyan" :foreground "Black"))))
      (ediff-fine-diff-face-C ((t (:background "Turquoise" :foreground "Black"))))
      (ediff-odd-diff-face-A ((t (:background "Grey" :foreground "White"))))
      (ediff-odd-diff-face-Ancestor
       ((t (:background "light grey" :foreground "Black"))))
      (ediff-odd-diff-face-B ((t (:background "light grey" :foreground "Black"))))
      (ediff-odd-diff-face-C ((t (:background "Grey" :foreground "White"))))
      ;; Eicq.
      (eicq-face-away ((t (:foreground "red"))))
      (eicq-face-dnd ((t (:foreground "lightblue"))))
      (eicq-face-ffc ((t (:foreground "yellow"))))
      (eicq-face-log-read ((t (:foreground "turquoise"))))
      (eicq-face-log-unread ((t (:foreground "red"))))
      (eicq-face-na ((t (:foreground "pink"))))
      (eicq-face-occ ((t (:foreground "orange"))))
      (eicq-face-offline ((t (:foreground "grey"))))
      (eicq-face-online ((t (:foreground "green"))))
      (eicq-face-selected ((t (:background "yellow" :foreground "darkblue"))))
      (eicq-wharf-default-face ((t (:foreground "Green" :size "10pt"))))
      ;; LaTeX
      (font-latex-bold-face ((t (:foreground "brown"))))
      (font-latex-italic-face ((t (:foreground "lightcoral"))))
      (font-latex-math-face ((t (:foreground "dodgerblue"))))
      (font-latex-sedate-face ((t (:foreground "gray51"))))
      (font-latex-string-face ((t (:foreground "green3"))))
      (font-latex-warning-face ((t (:foreground "red"))))
      (font-lock-comment-face ((t (:foreground "cyan"))))
      ;; Font Lock
      (font-lock-doc-string-face ((t (:foreground "LimeGreen"))))
      (font-lock-function-name-face ((t (:foreground "yellow" :bold t))))
      (font-lock-keyword-face ((t (:foreground "Salmon"))))
      (font-lock-preprocessor-face ((t (:foreground "magenta3"))))
      (font-lock-reference-face ((t (:foreground "steelblue"))))
      (font-lock-string-face ((t (:foreground "green3"))))
      (font-lock-type-face ((t (:foreground "dodgerblue"))))
      (font-lock-variable-name-face ((t (:foreground "PeachPuff"))))
      (font-lock-warning-face ((t (:bold t :foreground "Red"))))
      ;; Gnus/Message
      (gnus-cite-attribution-face ((t (:foreground "hotpink"))))
      (gnus-cite-face-1 ((t (:foreground "LawnGreen"))))
      (gnus-cite-face-10 ((t (:foreground "magenta"))))
      (gnus-cite-face-11 ((t (:foreground "MediumBlue"))))
      (gnus-cite-face-2 ((t (:foreground "Cyan"))))
      (gnus-cite-face-3 ((t (:foreground "DarkCyan"))))
      (gnus-cite-face-4 ((t (:foreground "Salmon"))))
      (gnus-cite-face-5 ((t (:foreground "DarkSalmon"))))
      (gnus-cite-face-6 ((t (:foreground "LavenderBlush"))))
      (gnus-cite-face-7 ((t (:foreground "LawnGreen"))))
      (gnus-cite-face-8 ((t (:foreground "LightSkyBlue"))))
      (gnus-cite-face-9 ((t (:foreground "LightSeaGreen"))))
      (gnus-emphasis-bold ((t (:bold t))))
      (gnus-emphasis-bold-italic ((t (:italic t :bold t))))
      (gnus-emphasis-highlight-words ((t (:foreground "yellow"))))
      (gnus-emphasis-italic ((t (:italic t))))
      (gnus-emphasis-underline ((t (:underline t))))
      (gnus-emphasis-underline-bold ((t (:underline t :bold t))))
      (gnus-emphasis-underline-bold-italic ((t (:underline t :italic t :bold t))))
      (gnus-emphasis-underline-italic ((t (:underline t :italic t))))
      (gnus-group-mail-1-empty-face ((t (:foreground "DeepPink3"))))
      (gnus-group-mail-1-face ((t (:bold t :foreground "DeepPink3"))))
      (gnus-group-mail-2-empty-face ((t (:foreground "HotPink3"))))
      (gnus-group-mail-2-face ((t (:bold t :foreground "HotPink3"))))
      (gnus-group-mail-3-empty-face ((t (:foreground "BlanchedAlmond"))))
      (gnus-group-mail-3-face ((t (:foreground "Yellow"))))
      (gnus-group-mail-low-empty-face ((t (:foreground "DeepPink4"))))
      (gnus-group-mail-low-face ((t (:bold t :foreground "DeepPink4"))))
      (gnus-group-news-1-empty-face ((t (:foreground "BlanchedAlmond"))))
      (gnus-group-news-1-face ((t (:foreground "LawnGreen"))))
      (gnus-group-news-2-empty-face ((t (:foreground "CadetBlue4"))))
      (gnus-group-news-2-face ((t (:bold t :foreground "CadetBlue4"))))
      (gnus-group-news-3-empty-face ((t (nil))))
      (gnus-group-news-3-face ((t (:foreground "HotPink"))))
      (gnus-group-news-4-empty-face ((t (nil))))
      (gnus-group-news-4-face ((t (:bold t))))
      (gnus-group-news-5-empty-face ((t (nil))))
      (gnus-group-news-5-face ((t (:bold t))))
      (gnus-group-news-6-empty-face ((t (nil))))
      (gnus-group-news-6-face ((t (:bold t))))
      (gnus-group-news-low-empty-face ((t (:foreground "DarkGreen"))))
      (gnus-group-news-low-face ((t (:bold t :foreground "DarkGreen"))))
      (gnus-header-content-face ((t (:foreground "LightGreen"))))
      (gnus-header-from-face ((t (:foreground "Cyan"))))
      (gnus-header-name-face ((t (:foreground "hotpink"))))
      (gnus-header-newsgroups-face ((t (:bold t :foreground "yellow"))))
      (gnus-header-subject-face ((t (:bold t :foreground "SkyBlue"))))
      (gnus-picon-face ((t (:background "white" :foreground "white"))))
      (gnus-picon-xbm-face ((t (:background "white" :foreground "white"))))
      (gnus-signature-face ((t (:bold t :foreground "BlanchedAlmond"))))
      (gnus-summary-cancelled-face ((t (:foreground "yellow"))))
      (gnus-summary-high-ancient-face ((t (:bold t :foreground "RoyalBlue"))))
      (gnus-summary-high-read-face ((t (:foreground "SlateGrey"))))
      (gnus-summary-high-ticked-face ((t (:bold t :foreground "firebrick"))))
      (gnus-summary-high-unread-face ((t (:bold t :foreground "HotPink"))))
      (gnus-summary-low-ancient-face ((t (:italic t :foreground "RoyalBlue"))))
      (gnus-summary-low-read-face ((t (:foreground "BlueViolet"))))
      (gnus-summary-low-ticked-face ((t (:italic t :foreground "firebrick"))))
      (gnus-summary-low-unread-face ((t ( :foreground "coral"))))
      (gnus-summary-normal-ancient-face ((t (:foreground "RoyalBlue"))))
      (gnus-summary-normal-read-face ((t (:foreground "SlateGrey"))))
      (gnus-summary-normal-ticked-face ((t (:foreground "firebrick"))))
      (gnus-summary-normal-unread-face ((t (:foreground "white"))))
      (gnus-summary-selected-face ((t (:underline t :foreground "Cyan"))))
      (gnus-x-face ((t (:background "white" :foreground "black"))))
      (message-cited-text-face ((t (:foreground "Cyan"))))
      (message-header-cc-face ((t (:foreground "LawnGreen"))))
      (message-header-name-face ((t (:foreground "hotpink"))))
      (message-header-newsgroups-face ((t (:bold t :foreground "yellow"))))
      (message-header-other-face ((t (:foreground "Green"))))
      (message-header-subject-face ((t (:bold t :foreground "SkyBlue"))))
      (message-header-to-face ((t (:foreground "BlanchedAlmond"))))
      (message-header-xheader-face ((t (:foreground "blue"))))
      (message-mml-face ((t (:foreground "ForestGreen"))))
      (message-separator-face ((t (:bold t :foreground "yellow"))))
      ;; MMM-mode
      (mmm-default-submode-face ((t (:background "black"))))
      ;; Hyper-apropos.
      (hyper-apropos-documentation ((t (:foreground "white"))))
      (hyper-apropos-hyperlink ((t (:foreground "yellow"))))
      ;; ibuffer
      (ibuffer-deletion-face ((t (:foreground "BlanchedAlmond"))))
      (ibuffer-dired-buffer-face ((t (:foreground "cyan"))))
      (ibuffer-help-buffer-face ((t (:foreground "Yellow"))))
      (ibuffer-hidden-buffer-face ((t (:foreground "DarkMagenta"))))
      (ibuffer-marked-face ((t (:foreground "green"))))
      (ibuffer-occur-match-face ((t (:bold t :foreground "Red"))))
      (ibuffer-read-only-buffer-face ((t (:foreground "hotpink"))))
      (ibuffer-special-buffer-face ((t (:foreground "skyblue"))))
      ;; Info
      (info-node ((t (:bold t :foreground "yellow"))))
      (info-xref ((t (:bold t :foreground "BlanchedAlmond"))))
      ;; Isearch
      (isearch ((t (:background "yellow" :foreground "red"))))
      (isearch-secondary ((t (:foreground "red3"))))
      ;; Liece
      (liece-broadcast-face ((t (:foreground "cyan" :italic t :size "14pt"))))
      (liece-change-face ((t (:foreground "BlanchedAlmond" :bold t))))
      (liece-client-face ((t (:foreground "cornflowerblue" :bold t))))
      (liece-dcc-face ((t (:foreground "yellow" :bold t))))
      (liece-error-face
       ((t (:foreground "HotPink" :bold t :italic t :size "14pt"))))
      (liece-info-face ((t (:foreground "GreenYellow" :bold t))))
      (liece-notice-face ((t (:foreground "gold" :bold t))))
      (liece-prefix-face ((t (:foreground "cyan" :bold t))))
      (liece-quoted-inverse-face ((t (:foreground "red"))))
      (liece-timestamp-face ((t (:foreground "lightblue" :bold t))))
      (liece-wallops-face ((t (:foreground "coral" :bold t))))
      ;; Man
      (man-italic ((t (:italic t :size "14pt" :foreground "BlanchedAlmond"))))
      (man-heading ((t (:bold t :foreground "yellow"))))
      (man-xref ((t (:underline t :foreground "hotpink"))))
      ;; Modeline
      (modeline ((t (:background "Gray80" :foreground "Black"))))
      (modeline-buffer-id ((t (:background "Gray80" :foreground "blue4"))))
      (modeline-mousable ((t (:background "Gray80" :foreground "firebrick"))))
      (modeline-mousable-minor-mode
       ((t (:background "Gray80" :foreground "green4"))))
      ;; Paren
      (paren-blink-off ((t (:foreground "black"))))
      (paren-face-match ((t (:background "turquoise"))))
      (paren-face-mismatch ((t (:background "purple" :foreground "white"))))
      (paren-face-no-match ((t (:background "yellow" :foreground "black"))))
      (paren-match ((t (:background "darkseagreen2" :foreground "yellow3"))))
      (paren-mismatch ((t (:background "DeepPink" :foreground "white"))))
      ;; Shell
      (shell-option-face ((t (:foreground "Cyan"))))
      (shell-output-2-face ((t (:foreground "LawnGreen"))))
      (shell-output-3-face ((t (:foreground "HotPink"))))
      (shell-output-face ((t (:foreground "BlanchedAlmond"))))
      (shell-prompt-face ((t (:foreground "Yellow"))))
      ;; Speedbar
      (speedbar-button-face ((t (:foreground "green4"))))
      (speedbar-directory-face ((t (:foreground "BlanchedAlmond"))))
      (speedbar-file-face ((t (:foreground "cyan4"))))
      (speedbar-highlight-face ((t (:background "green"))))
      (speedbar-selected-face ((t (:underline t :foreground "red"))))
      (speedbar-tag-face ((t (:foreground "brown"))))
      ;; Widget
      (widget ((t (nil))))
      (widget-button-face ((t (:bold t))))
      (widget-button-pressed-face ((t (:foreground "red"))))
      (widget-documentation-face ((t (:foreground "BlanchedAlmond"))))
      (widget-field-face ((t (:background "Grey30" :foreground "Yellow"))))
      (widget-inactive-face ((t (:foreground "dim gray"))))
      (zmacs-region ((t (:background "gray30" :foreground "yellow"))))
      ;; mh-e
      (mh-folder-cur-msg-face ((t (:foreground "black" :background "white"))))
      (mh-folder-date-face ((t (:foreground "snow4"))))
      (mh-folder-followup-face ((t (:foreground "blue3"))))
      (mh-folder-msg-number-face ((t (:foreground "red"))))
      (mh-folder-subject-face ((t (:foreground "cyan"))))
      (mh-index-folder-face ((t (:foreground "blanched almond"))))
      (mh-show-from-face ((t (:foreground "cyan"))))
      (mh-show-to-face ((t (:foreground "light green"))))
      (mh-show-xface-face ((t (:foreground "black" :background "white")))))))

;:*=======================
;:* Use a sexy background pixmap.
;(set-face-background-pixmap 'default
;                            [xpm :file "~/documents/pictures/marble.xpm"])

;; Highlight 'FIXME:' and '--SY' in comments.  So far, just lisp mode.
(add-to-list 'lisp-font-lock-keywords-2
             '("^;;;?.*\\(FIXME:\\|--SY\\.?$\\)" 1 font-lock-warning-face prepend))

(font-lock-mode)

;:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
(message "fonts initialised")

[[i] 本帖最后由 hadeshuang 于 2006-6-25 01:35 编辑 [/i]]

论坛徽章:
0
369 [报告]
发表于 2006-06-25 01:20 |只看该作者

font.el

~/.xemacs/custom.el

(custom-set-variables
'(abbrev-mode t)
'(desktop-enable t nil (desktop))
'(jde-complete-function 'jde-complete-menu)
'(jde-enable-abbrev-mode t)
'(jde-imenu-enable t)
'(jde-jdk-registry '(("1.5" . "/usr/lib/j2sdk1.5-sun")))
'(jde-xref-class-path nil)
'(kill-whole-line t)
'(printer-name "mars")
'(ps-paper-type 'a4)
'(quack-default-program "guile")
'(quack-smart-open-paren-p t)
'(scrollbars-visible-p nil)
'(user-full-name "XXXXX" t)
'(user-mail-address "XXXXXXXXXXXXX")
'(save-abbrevs nil))


;:*=======================
;:* color-theme
(color-theme-standard)

;:*======================
;:* fonts
;:*
(custom-set-faces
'(default ((t (:size "8pt" :family "Monaco")))))

[[i] 本帖最后由 hadeshuang 于 2006-6-25 01:46 编辑 [/i]]

论坛徽章:
0
370 [报告]
发表于 2006-07-03 21:44 |只看该作者

有谁用过最新CVS版的emacs?具体版本为23.*。除了对中文字体支持,能看tarball格式的软件,能查看图片之外,还能做哪些不常用的工作呢?请大家试一下。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP