Íõ´ºÓîµÄemacsѧϰ±Ê¼Ç

2005-01-09 20:52:39 ×÷Õߣºrokia À´Ô´£º ä¯ÀÀ´ÎÊý£º0 ÍøÓÑÆÀÂÛ 0 Ìõ




Wang Chunyu
chunyu##hit.edu.cn











[ÖÐÎİæ]

?

Home

About Me

Research

?

Interests

Hobbies

?

Journal

?



?

?Emacs

?-?>> Èç¹ûÄãµÚÒ»´Î...

Wang Chunyu

chunyu##hit.edu.cn

[ÖÐÎİæ]

?

Home

About Me

Research

?

Interests

Hobbies

?

Journal

?

?

?Emacs

?-???.?Misc

??.?C/C++

??.?Dired

??.?View

?-???.?PCL-CVS

??.?Abbrevs

??.?RegExp

?

?Gnus

?-?FAQ(cn)

?

?-?elisp

?-?resource

?

?

?GNU/Linux

?

?Python

?

?Zope

?

?C/C++

?

Contact Me

?

Fine Print

Powered by...

?

Emacs ʹÓñʼÇ

Author: Wang Chunyu

File : $Id: notes-emacs,v 1.134 2004/09/11 05:48:50 spr Exp $

URL : http://db.cs.hit.edu.cn/people/WangChunyu/interests/m/em/mposts/note002.html

===>>> Èç¹ûÄãµÚÒ»´Î¿´ÕâÀ¼ÇµÃ´ÓÏÂÍùÉÏ¿´ :) <<<===

----

Gnus agent file coding system

gnus-agent-file-coding-system

----

Ö±½ÓÓÃÎļþÃû´ò¿ªÎļþ

filecache °üÌṩÁËÖ±½ÓÓÃÎļþÃû´ò¿ªÎļþµÄ·½·¨£¬²»ÓùØÐÄÎļþÔÚÄǸöĿ¼Àï

Ãæ¡£ÔÚ´ò¿ªÎļþʱ£¬minibuffer Öа´ C-tab£¬Ö±½Ó´ò¿ªÏàÓ¦Îļþ¡£

(eval-after-load "filecache"

'(progn (file-cache-add-directory-using-find "~/projects")

(file-cache-add-directory-list '("~/work" "~/work/proj1" "~/work/proj2"))

(file-cache-add-file-list (list "~/foo/bar" "~/baz/bar"))))

(define-key minibuffer-local-completion-map [C-tab] 'file-cache-minibuffer-complete)

(define-key minibuffer-local-map [C-tab] 'file-cache-minibuffer-complete)

(define-key minibuffer-local-must-match-map [C-tab] 'file-cache-minibuffer-complete)

----

ÐÞ¸ÄÎļþÃû²¹È«ºó׺

(setq completion-ignored-extensions

(append '(".bin" ".ext" ".free")

completion-ignored-extensions))

(delete ".log" completion-ignored-extensions)

----

ÔÚ Windows XP ÉÏʹÓõÄ×ÖÌå

(create-fontset-from-fontset-spec

(concat

"-*-Courier New-normal-r-*-*-13-*-*-*-c-*-fontset-chinese,"

"chinese-gb2312:-*-MS Song-normal-r-*-*-14-*-*-*-c-*-gb2312*-*"))

(create-fontset-from-fontset-spec

(concat

"-*-Courier New-bold-r-*-*-13-*-*-*-c-*-fontset-chinesebold,"

"chinese-gb2312:-*-MS Song-bold-r-*-*-14-*-*-*-c-*-gb2312*-*"))

(setq default-frame-alist

'((font . "fontset-chinese")))

(set-face-font 'bold "fontset-chinesebold")

----

pop up marks

(global-set-key "\C-z" 'set-mark-command)

(global-set-key "\C-x\C-p" 'pop-global-mark)

C-u C-z cycle in local buffer mark ring.

C-x C-p cycle in global mark ring.

----

¹¤¾ßÀ¸Ìí¼Ó LaTeX ÎĵµµÄÕ½ÚË÷Òý

ʹÓà AUCTeX ºÍ RefTeX ±à¼­ LaTeX Îļþʱ£¬Èç¹ûÄãϲ»¶ÓÃÊó±ê£¬²»·ÁÊÔÊÔÕâ¸ö£¬

¿ÉÒÔÔÚ¹¤¾ßÀ¸Ìí¼ÓÒ»¸öIndex²Ëµ¥£¬Ö±½ÓÔÚÄãµÄÕ½ÚÖ®¼äÌø×ª¡£

M-x imenu-add-menubar-index »òÕß

(setq reftex-load-hook (quote (imenu-add-menubar-index)))

(setq reftex-mode-hook (quote (imenu-add-menubar-index)))

----

Í˳ö picture mode ¿ÉÒÔÓà C-c C-c

¾Ý˵ÊÇÒ»¸öûÓÐÎĵµµÄ¼ü¡£

----

find tags

M-. find-tag

C-M-. find-tag-regexp

C-x 4 . find-tag-other-window

C-x 5 . find-tag-other-frame

----

sexp operate

backward-kill-sexp M-C-BACKSPACE

backward-sexp C-M-b

eval-last-sexp C-x C-e

eval-print-last-sexp M-x eval-print-last-sexp RET

forward-sexp C-M-f

indent-pp-sexp M-x indent-pp-sexp RET

indent-sexp M-x indent-sexp RET

kill-sexp C-M-k

last-sexp-toggle-display M-x last-sexp-toggle-display RET

mark-sexp C-M-SPC, C-M-@

pp-eval-last-sexp M-x pp-eval-last-sexp RET

raise-sexp M-x raise-sexp RET

transpose-sexps C-M-t

----

Abbrev misc

M-' abbrev-prefix-mark

C-x ' expand-abbrev

C-M-/ dabbrev-completion

----

·ÖÀ¸±à¼­

C-x 6 2C-command

C-x 6 s2C-split

C-x 6 b2C-associate-buffer

C-x 6 22C-two-columns

----

µ÷Õû´°¿Ú

C-x + balance-windows

C-x - shrink-window-if-larger-than-buffer

----

²»Ì«³£Ó㬵«±È½ÏÓÐÓõļü

C-x TAB indent-rigidly

M-^ delete-indentation

C-x C-n set-goal-column

C-x ; comment-set-column

C-x scroll-right

C-x [ backward-page

C-x ] forward-page

C-x l count-lines-page

C-x = what-cursor-position

C-M-S-v scroll-other-window-down

Register&Bookmark:

C-x r l bookmark-bmenu-list

C-x r r copy-rectangle-to-register

C-x / point-to-register-compatibility-binding

C-x g insert-register-compatibility-binding

C-x j jump-to-register-compatibility-binding

C-x x copy-to-register-compatibility-binding

M-r move-to-window-line

----

²»Ì«³£Ó㬵«Ã»Ê²Ã´Óõļü

C-x C-d list-directory

C-x C-r find-file-read-only

C-x i insert-file

C-x LEFT prev-buffer

C-x RIGHT next-buffer

M-g facemenu-keymap

----

ÓÃij¸ö±àÂëÖØÐ¼ÓÔØÎļþ

C-x C-m r ... RET (revert-buffer-with-coding-system)

----

GNU Emacs (CVS) µÄ¼üÅ̺ê(keyboard macro)

CVS ÖÐµÄ Emacs Ôö¼ÓÁËÒ»¸ö kmacro °ü£¬À©Õ¹ÁËÔ­À´µÄ¼üÅ̺êµÄ¹¦ÄÜ£¬Ôö¼ÓÁËÄÚ

ÖõļÆÊýÆ÷¡¢¼üÅ̺굥²½Ö´Ðй¤¾ß¡¢Óà kmacro-ring ±£´æ¶à¸öºê¡£

C-x C-k SPC µ÷ÊÔ¶¨ÒåµÄºêºÜ·½±ã¡£

C-x C-k {C-p,C-n,C-v}+ Ñ¡¶¨ÒªÖ´ÐеĺêÖ®ºó£¬°´ {C-k}+ ¾ÍÖ´ÐÐÁË£¬»¹¿ÉÒÔÔÙ

°´{C-p,C-n}+ ÔÙÑ¡¶¨£¬ÔÙÖ´ÐУ»{C-d} ɾ³ýÑ¡¶¨µÄºê¡£

C-x C-k {C-m,RET,C-e} Ï൱ÓÚÔ­À´µÄ C-x C-k£¬Ö±½Ó±à¼­×îºóÒ»¸ö¶¨ÒåµÄºê¡£

¶¨Òå¼üÅ̺êʱ£¬Óà C-x q À´ÌáʾÊÇ·ñ¼ÌÐø£¬Óà C-u C-x q ¿ÉÒÔÊäÈëÈÎÒâµÄÄÚÈÝ

(C-M-c Í˳öµÝ¹é±à¼­)¡£

C-x C-k b ¿ÉÒ԰Ѹոն¨ÒåµÄºê°ó¶¨µ½Ò»¸ö¼üÉÏ£¬Ä¬È쵀 [0-9A-Z] ÓÃÀ´°ó¶¨Ïà

Ó¦µÄ C-x C-k [0-9A-Z]¡£

C-x C-k r ÔÚ region ÖÐÖ´Ðкꡣ

C-x C-k n ÃüÃû×îºóÒ»¸ö¶¨ÒåµÄºê¡£ÃüÃûÖ®ºó£¬¿ÉÒÔÓà M-x insert-kbd-macro

±£´æµ½Îļþ£¬ÒÔ±ãÒÔºóʹÓá£

F3 ¿ÉÒÔÏó C-x ( Ò»Ñù¿ªÊ¼¼üÅ̺êµÄ¶¨Ò壬Ҳ¿ÉÒ»Ïó C-x C-k C-i Ò»Ñù²åÈëÄÚÖÃ

¼ÆÊýÆ÷µÄÖµ¡£F4 ¿ÉÒÔÏó C-x ) Ò»Ñù½áÊøºêµÄ¶¨Ò壬Ҳ¿ÉÒÔÏó C-x e Ò»Ñùµ÷Óúꡣ

¼üÅ̺êµÄÄÚÖüÆÊýÆ÷£º

C-x C-k {C-i,TAB} ²åÈë¼ÆÊýÆ÷µÄÖµ£¬Ã¿´Î²åÈë¶¼Ôö¼Ó1»òǰ׺²ÎÊý´óС£»

C-x C-k C-a Ôö¼Ó¼ÆÊýÆ÷µÄÖµ£¬ÌáʾÊäÈë»òǰ׺²ÎÊý´óС£»

C-x C-k C-c ÉèÖüÆÊýÆ÷µÄÖµ£¬ÌáʾÊäÈë»òǰ׺²ÎÊý´óС£»

C-x C-k C-f ÉèÖòåÈë¼ÆÊýÆ÷ÖµµÄ¸ñʽ¡£

from emacswiki:

Ï붨ÒåºêµÄʱºò²»ÐèÒª C-x ( ... C-x )£¬Ö»Ðë×öÒ»±éÄãµÄºê£¬È»ºóÓà C-x

C-k l£¬´ÓÖÐÈ¥µô²»ÒªµÄÄÚÈÝ£¬ÌíÒ»¸öÃû×ֺͰ󶨵ļü£¬×îºó C-c C-c¡£

----

Ìí¼Ó×Ô¼ºµÄ¹Ø¼ü×Ö

font-lock-add-keywords

(font-lock-add-keywords 'c-mode

'(("\\<\\(FIXME\\):" 1 font-lock-warning-face prepend)

("\\" . font-lock-keyword-face)))

----

ÓÐÑ¡Ôñ²é¿´£ºselective-display

±ÈÈçÕâ¸öÎļþ£¬ÓÃ

M-1 C-x $

ÔòÖ»ÏÔʾÿһÌõµÄÖ÷Ì⣬ʡÂÔÄÚÈÝ

,----[ M-1 C-x $ ]

| ----

| ÐÞ¸Ä Emacs µÄ´íÎóÌáʾÒô

| ...

| ----

| Éú³É Emacs ¶Ô»°¿ò

| ...

| ----

| ÕâÑùÒÆ¶¯»º³åÒ²²»´í

| ...

| ----

| keywiz ÓÎÏ·

| ...

`----

ʵ¼ÊÉÏÊÇͨ¹ýËõ½øÁ¿£¬¶ÔÐÐÑ¡Ôñ.Ö»ÏÔʾÐÐÊ×ÔÚijÁÐÒÔÄÚµÄÐÐ

M-2 C-x $ ÐÐÊ×ÔÚǰ 2 ÁÐÄÚµÄ

M-4 C-x $ ÐÐÊ×ÔÚǰ 4 ÁÐÄÚµÄ

C-x $ È¡Ïû

----

ÐÞ¸Ä Emacs µÄ´íÎóÌáʾÒô

(set-message-beep 'silent)

ϵͳ£º 'asterisk, 'exclamation, 'hand, 'question, 'ok

ÎÞÉù£º 'silent

»úÆ÷À®°È£ºnil

----

Éú³É Emacs ¶Ô»°¿ò

(if (yes-or-no-p "Are you feeling well? ")

(message "You appear to be feeling well.")

(message "Hope you will get better soon!"))

(if (x-popup-dialog t '("Are you feeling well?" ("Yes" . t) ("No" . nil)))

(message "You appear to be feeling well.")

(message "Hope you will get better soon!"))

----

ÕâÑùÒÆ¶¯»º³åÒ²²»´í

ËæÊ±ÒÆ¶¯£¬²»ÐèÒª view mode£¬¿ÉϧÊÇÐèÒªÉÏϼü£º

(global-set-key [M-down] '(lambda () (interactive) (scroll-up 1)))

(global-set-key [M-up] '(lambda () (interactive) (scroll-down 1)))

----

keywiz ÓÎÏ·

kbd-macro-query

Query user during kbd macro execution.

Nope. The correct answer is: C-x q

repeat-complex-command

Edit and re-evaluate last complex command, or ARGth from last.

Incorrect. The correct answer is: , , C-x M-:, C-x M-ESC

----

CDLaTeX µÄ *CDLaTeX Help* ÎÊÌâ

C-c ? ´ò¿ªµÄ *CDLaTeX Help* »º³å£¬È±Ê¡´ò¿ªÁË view mode£¬¶øºóÀ´µÄ'£¬

`ÃüÁîµÄÌáʾ¶¼Ê¹Óò¢ÐÞ¸ÄÕâ¸ö»º³åµÄÄÚÈÝ£¬µ« view mode ²»¿ÉÐ޸ģ¬ÒÔÖÁ

·¢Éú´íÎó¡£

ÔÚÆäÖÐµÄ cdlatex-turn-on-help º¯ÊýÐÞ¸ÄÁËһϣ¬ÔÝʱ½â¾öÕâ¸ö벡£º

"(erase-buffer)" ֮ǰ¼ÓÒ»¾ä "(view-mode -1)"¡£

[URL:http://zon.astro.uva.nl/~dominik/Tools/cdlatex/]

----

Ìæ»»ÎļþÃûÖеĻ·¾³±äÁ¿

(substitute-in-file-name "$HOME/.emacs.d/.emacs.el")

----

¸ßÁÁÏÔʾ C/C++ ÖеĿÉÄܵĴíÎó(CWarn mode)

ÅäÖãº(global-cwarn-mode 1)

ÊÖ¶¯£ºM-x cwarn-mode

²Î¿¼£ºC-h v cwarn-configuration

----

Êý×Ö¼üÖ±½Ó×÷Ϊǰ׺²ÎÊýµÄÈ«¾Ö×Óģʽ (Autoarg mode)

ÅäÖãº(autoarg-mode 1)

ÊÖ¶¯£ºM-x autoarg-mode & autoarg-kp-mode

²Î¿¼£ºCommentary in emacs/lisp/autoarg.el

ÈκÎģʽϵÄÊý×ÖÈ«¶¼ÊÇǰ׺²ÎÊýÁË£¬M-2 C-n Ö»Ðè 2 C-n£»µ«ÏëÊäÈëÊý×Öʱ£¬

µÃÓà C-2 C-3 »ò 23 SPC¡£

----

Windows ÉÏ Emacs Æô¶¯Ê±×î´ó»¯

Windows ×¢²á±íÖÐÌí¼Ó (²»Òª toolbar)£º

HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs\EMACS.Toolbar=0 (REG_SZ)

.emacs.el ÖУº

(w32-send-sys-command #xf030)

----

BibTeX ×Ô¶¯²úÉúµÄ key µÄ·½·¨

²Î¿¼£ºC-h f bibtex-generate-autokey RET

----

yap, gnserv, emacs ·´Ïò²éÕÒ

yap: view->options->Inverse Search->Command line ÖУº

"gnuclientw.exe" "-q" "+%l" "%f"

GNUSERV setup:

(gnuserv-start)

(setq gnuserv-frame (selected-frame))

(setenv "GNUSERV_SHOW_EMACS" "1")

----

Calendar ÖÐÏÔʾũÀú½ÚÈÕ

(setq local-holidays

'((holiday-chinese 1 15 "ÔªÏü½Ú (ÕýÔÂÊ®Îå)")

(holiday-chinese 5 5 "¶ËÎç½Ú (ÎåÔ³õÎå)")

(holiday-chinese 9 9 "ÖØÑô½Ú (¾ÅÔ¾Å)")

(holiday-chinese 8 15 "ÖÐÇï½Ú (°ËÔÂÊ®Îå)")))

(autoload 'chinese-year "cal-china" "Chinese year data" t)

(defun holiday-chinese (cmonth cday string)

"Chinese calendar holiday, month and day in Chinese calendar (CMONTH, CDAY).

If corresponding MONTH and DAY in gregorian calendar is visible,

the value returned is the list \(((MONTH DAY year) STRING)).

Returns nil if it is invisible in the current calendar window."

(let* ((m displayed-month)

(y displayed-year)

(gdate (calendar-gregorian-from-absolute

(+ (cadr (assoc cmonth (chinese-year y))) (1- cday)))))

(increment-calendar-month m y (- 11 (car gdate)))

(if (> m 9) (list (list gdate string)))))

----

²é¿´ frame ²ÎÊý

(frame-parameter nil 'width)

(frame-parameter nil 'height)

(frame-parameter nil 'left)

(frame-parameter nil 'top)

·ÅÔÚ default-frame-alist ÖеÄËĸö²ÎÊý£¬Ïȵ÷Õû¡¢²é¿´£¬ÔÙÐÞ¸Ä

»òÕ߸üÖ±½ÓµÄ£º

(frame-parameters nil)

----

ÉèÖà C Source Ŀ¼

(setq find-function-C-source-directory "~/work/emacs/src")

----

²»ÏÔʾ HTML ÖеıêÇ©

HTML-mode:

C-x C-i (sgml-tags-invisible)

----

µßµ¹Ò»¿éÎı¾

M-x reverse-region ÒÔÐÐΪµ¥Î»µßµ¹Îı¾

----

BibTeX ¹ÜÀí bib Îļþ

Ìí¼Ó¡¢Ð޸ĺܷ½±ã¡£from o8o@smth:

1. ¿ÉÒÔ¸ù¾ÝÐèÒª²åÈëÒ»¸öÄ£°å (²Î¿¼ C-c C-e C-h)£»

2. ¿ÉÒÔ·½±ãÇå³ýÄ£°åÖв»ÐèÒªµÄÏîÄ¿ (C-c C-c)£»

3. ²åÈëºó¿ÉÒÔÉú³ÉÒ»¸ö×Ô¼ºÐèÒªµÄ Key (×Ô¶¯»òÊÖ¶¯µÄ)£»

4. ¿ÉÒÔ¸ù¾Ý Key °Ñ²Î¿¼ÎÄÏ×ÅÅÐò²åÈ룬²»Óõ£ÐÄÖØ¸´²éÈëͬһÌõÎÄÏ×

(C-h v bibtex-maintain-sorted-entries)£»

5. ÔÚ¸÷¸öÏîÖÐÒÆ¶¯ºÜ·½±ã (TAB & C-j)¡£

----

RefTeX ¹ÜÀí/ä¯ÀÀ/µ÷Õû TeX ÎļþÖеÄÕ½ڡ¢±êÇ©¡¢ÒýÓá¢Ë÷ÒýµÈ

¿ÉÒÔºÍ AUCTeX ÅäºÏʹÓá£

(setq reftex-plug-into-AUCTeX t)

(add-hook 'TeX-mode-hook 'turn-on-reftex)

»¹¿ÉÒÔÔÙ TeX buffer Öд´½¨Ë÷Òý¡¢±êÇ©¡¢ÒýÓõȡ£

----

²åÈë -*- MODENAME -*- ±êÇ©

(defun chunyu-insert-file-variable ()

"Insert file variable string \"-*- Major-Mode-Name -*-\" with

comment char"

(interactive)

(insert

(concat comment-start " -*- "

(substring

(symbol-name (symbol-value 'major-mode)) 0 -5)

" -*- " comment-end)))

----

CVS AUCTeX ÖÐÓÐ ConTeXt ģʽ

²»ÐèÒª×Ô¼º×°ÁË£¬¶øÇÒ°ó¶¨ºÍ LaTeX-mode ²î²»¶à¡£

export CVS_RSH="ssh"

cvs -z3 -d:ext:anoncvs@savannah.gnu.org:/cvsroot/auctex co auctex

cd auctex && ./autogen.sh && ./configure

(Èç¹ûÔÚ Windows ÉÏ£¬±à¼­ Makefile, doc/Makefile£¬ÐÞ¸ÄÆäÖÐµÄ info,

prefix Ŀ¼)

make && make install

----

feedmail instead of fakemail

feedmail package ËÆºõ¿ÉÒÔ´úÌæ fakemail.exe ·¢ÐÅ£¬²»¹ý»¹²»Çå³þÈçºÎÅäÖá£

¿ÉϧÈç¹ûÔÚ Windows ÉÏ£¬ÐèÒª sh.exe ºÍ rmail.exe µÈ:(¡£

----

È¥µô .emacs Öв»ÔÙÐèÒªµÄ°ó¶¨£¨ÏÖÔÚºÜÉÙʹÓÃÁË£©

(define-prefix-command 'ctl-x-m-map)

(global-set-key "\C-xm" 'ctl-x-m-map)

(define-key ctl-x-m-map "e" 'cvs-examine)

(define-key ctl-x-m-map "m" 'man-follow)

(define-key ctl-x-m-map "g" 'run-scheme)

(define-key ctl-x-m-map "b" 'list-bookmarks)

(define-key ctl-x-m-map "l" 'browse-kill-ring)

(define-key ctl-x-m-map "a" 'align-current)

----

Commentary of emacs-cvs/lisp/iimage.el

should be:

(autoload 'iimage-mode "iimage" "Inline image." t)

(autoload 'turn-on-iimage-mode "iimage" "Inline image." t)

;; ``I''nfo-mode-hook

(add-hook 'Info-mode-hook 'turn-on-iimage-mode)

----

ʹÓà gnuserv.exe ÉÙ²»Á˵IJÎÊý:

(gnuserv-start)

(setq gnuserv-frame (selected-frame))

(setenv "GNUSERV_SHOW_EMACS" "1")

----

µ±Ç°ÖÕ¶ËÄÜ·ñÏÔʾ֧³ÖµÄ×ÖÌ壨ÅжÏͼÐÎÖն˵ÄÁîÒ»¸ö·½·¨£©

(display-multi-font-p)

Return non-nil if DISPLAY is a graphic display.

(display-multi-font-p &optional DISPLAY)

----

ͨ¹ý smbclient ÔÚ Linux box Éϸø Windows box ·¢ËÍ net message

Linux -> Windows (Net-Message) in Emacs:

M-| smbclient -M »úÆ÷Ãû

»òÕßÖ±½Ó£º

cat "Hello!" | smbclient -M »úÆ÷Ãû

----

Outline minor mode µÄ¼üǰ׺

ȱʡµÄ£º

C-c @

»òÕß×Ô¼ºÐ޸ģº

(setq outline-minor-mode-prefix "\C-c\C-o")

----

Windows ÉÏÓÃÏà¹ØÁªµÄ³ÌÐò´ò¿ªÎļþ

(eval-after-load "dired"

'(progn

;; Dired Ô­À´µÄ o ¶ÔÎÒÀ´Ëµ»ù±¾Ã»Óá£

(define-key dired-mode-map "o" 'chunyu-dired-open-explorer)))

(defun chunyu-dired-open-explorer ()

(interactive)

(let ((file-name (dired-get-file-for-visit)))

(if (file-exists-p file-name)

(w32-shell-execute "open" file-name nil 1))))

Ô­À´Ê¹Óà cmd.exe µÄ start ÃüÁµ«Â·¾¶Öв»ÄÜÓпոñ¡£Õâ¸ö

w32-shell-execute ¾ÍûÎÊÌâÁË£¬»¹²»´í¡£

´ËÍ⣬´ÓÁíÒ»¸öÈ赀 .emacs ÖÐѧÀ´µÄ£¬¿ÉÒÔͬʱ´ò¿ªËùÓÐ×ö±ê¼ÇµÄÎļþ£º

(defun dired-execute-file (&optional arg)

(interactive "P")

(mapcar #'(lambda (file) (w32-shell-execute "open" file))

(dired-get-marked-files nil arg)))

¶øÇÒ¿ÉÒ԰󶨵½Êó±êÉÏ£¬ÓÃÊó±êÖмü(mouse-2)»òË«»÷(double-mouse-1)´ò¿ª£º

(define-key dired-mode-map [mouse-2] 'dired-mouse-execute-file)

(defun dired-mouse-execute-file (event)

"In dired, execute the file or goto directory name you click on."

(interactive "e")

(set-buffer (window-buffer (posn-window (event-end event))))

(goto-char (posn-point (event-end event)))

(dired-execute-file))

----

ʹÓà Windows ÉϵÄ×óÓÒ Win ¼ü

(setq w32-pass-rwindow-to-system nil)

(setq w32-rwindow-modifier 'hyper)

(setq w32-pass-lwindow-to-system nil)

(setq w32-lwindow-modifier 'hyper)

ÀýÈ磺

(global-set-key [(hyper ?z)] 'compile)

----

Dumping emacs µÄ²ÎÊý

#!/bin/sh

MYEMACS=$1

./$MYEMACS --batch --load ~/.emacs.d/.emacs.el \

--execute "(dump-emacs \"mymacs\" \"$MYEMACS\")"

----

¼¸¸ö list ÃüÁÁгöһЩ±äÁ¿

M-x list-colors-display RET

M-x list-faces-display RET

(setq list-faces-sample-text

"ÕÔÇ®ËïÀî ÖÜÎâÖ£Íõ abcdefg..z ABCDEFG..Z")

M-x list-charset-chars

M-x list-character-sets

M-x list-load-path-shadows

M-x list-options

M-x list-color-display

M-x list-registers

M-x list-command-history

M-x list-processes

M-x list-input-method

----

CVS Emacs ²é¿´ utf-8

M-x utf-translate-cjk-mode

(utf-translate-cjk-mode 1)

----

Ö´ÐÐ cmd.exe µÄ start ÃüÁî

(start-process "dir" nil "cmd.exe" "/c" "start" "c:")

µ±È»£¬Óà w32-shell-execute ¸üºÃЩ¡£

----

beginning-of-buffer µÄǰ׺²ÎÊý

M-2 M-x beginning-of-buffer RET (M-2 M-<) »º³åÊ× 20%

M-5 M-x beginning-of-buffer RET (M-5 M- Hello, I would like a script that I can bind to Ctrl-Shift-h

Daniel> that will switch from a .cpp file to the associated .h file,

Daniel> if there is one. For example, if I have Hash.cpp opened and

Daniel> press the selected keys, emacs switches to Hash.h. If there is

Daniel> no Hash.h nothing is done. Any help appreciated. Thanks!

Daniel> -- Daniel

ÁíÍ⣺ff-find-related-file

----

hideshow minor mode

hs-minor-mode

----

ÖØ¸´Ç°Ò»¸ö¸´ÔÓÃüÁî

C-x Esc Esc

C-x M-:

----

ÔÚ .emacs ÖÐÉèÖÃȱʡµÄ TAGS Îļþ

(visit-tags-table "/path/to/table")

----

M-; Áé»î×¢ÊÍ (C-h k M-;)

Èç¹û transient-mark-mode ¿ªÆô²¢ÇÒ region ÓÐЧ£º comment-region

µ«Èç¹ûÖ»ÓÐ×¢ÊÍ£º uncomment-region

·ñÔò£¬Èç¹ûµ±Ç°ÐÐΪ¿ÕÐУ¬²åÈëÒ»¸ö×¢ÊÍ£¬ ²¢Ëõ½ø£º ...

·ñÔò£¬Èç¹û¸ø¶¨Ç°×º²ÎÊý£º comment-kill

·ñÔò£º comment-indent

----

M-x toggle-debug-on-quit

Åöµ½Í£ÏÂÀ´µÄʱºòC-q£¬Ò»°ãÄÜ¿´µ½Ê²Ã´µØ·½³öµÄÎÊÌâ¡£

----

ת»»µ±Ç° buffer µÄÐ޸ıê¼Ç(Modification-flag)

M-~ / C-u M-~ not-modified

----

C-x @: event-apply-*-modifier

C-x @ c event-apply-control-modifier

C-x @ S event-apply-shift-modifier

C-x @ a event-apply-alt-modifier

C-x @ m event-apply-meta-modifier

C-x @ s event-apply-super-modifier

C-x @ h event-apply-hyper-modifier

----

find-function-setup-keys ÌṩµÄ¼¸¸ö¼ü£¬Ö±½ÓÕÒµ½lispÖк¯Êý»ò±äÁ¿µÄ¶¨ÒåλÖÃ

(find-function-setup-keys) which sets up some shortcuts.

C-x [4,5] F find-function

C-x [4,5] V find-variable

C-x K find-function-on-key

----

Ïû³ý´íÎóÌáʾÒô(ring-bell)

·½·¨1: ÓÃÆÁÄ»ÉÁ˸´úÌæ ring bell

(setq visible-bell 1)

·½·¨2: ÐÞ¸Ä ring bell º¯Êý

(setq ring-bell-function 'ignore)

·½·¨3: ÐÞ¸Ä message ÉùÒô

(set-message-beep 'silent)

----

Óà C-x RET c ±àÂë¡¢±£´æ£¬¸Ä±äÎļþµÄ dos/unix ¸ñʽ

(ÏȰÑÎļþ¸Ä¶¯Ò»Ï£¬»òÕßÓà C-u M-~ °ÑÎļþÉèÖÃΪÒѸ͝)

C-x RET c chinese-iso-8bit-dos RET C-x C-s

²»ÂÛÔ­À´ÊÇʲô¶¼±£´æÎª dos ¸ñʽ£»

(¸Ä¶¯Ò»ÏÂÎļþ)

C-x RET c chinese-iso-8bit-unix RET C-x C-s

²»ÂÛÔ­À´ÊÇʲô¶¼±£´æÎª unix ¸ñʽ¡£

Õâ¸öÃüÁ¿ÉÒÔÓÃÀ´ÒÔijÖÖ±àÂë´ò¿ªÎļþ&&

----

±à¼­ÒѾ­Ìá½»µÄ CVS log¡£

>>>>> "Luc" == Luc Teirlinck writes: Is there

> a reasonably easy way to correct the per file CVS log entry for an

> already committed change? I inadvertently forgot a per file

Use PCL-CVS's `l' command to get the log and then hit `e'

(or M-x cvs-mode-edit-log) on the log entry you want to change.

Stefan

> The only way to change a CVS log entry is to edit the repository. The

> cvs frontend does not allow that.

cvs admin -m:

Stefan

----

¼¸¸öÉèÖà mark µÄ¼ü

M-C-SPC mark-sexp ±ê¼ÇÒ»¸ö±í´ïʽ

M-@ mark-word ±ê¼ÇÒ»¸ö´Ê

M-h mark-paragraph ±ê¼ÇÒ»Õû¶Î

C-M-h mark-defun ±ê¼ÇÒ»¸öº¯ÊýµÄ¶¨Òå

ÕâЩÃüÁîÖØ¸´°´µÄʱºò£¬region ÿ´Î¶¼»áÀ©Õ¹¡£±ÈÈç M-h M-h Ï൱ÓÚ M-2 M-h¡£

֮ǰ¼ÓÒ»¸ö C-SPC C-SPC ´ò¿ª transient-mark-mode ¿´µÄ¸üÇå³þ¡£

----

ÔÝʱ´ò¿ª transient-mark-mode µÄÁ½ÖÖ·½·¨£º

C-SPC C-SPC Á½´Î set-mark-command

C-u C-x C-x ½»»» mark ºÍ point ʱÓà C-u ǰ׺

----

Emacs Ìí¼ÓÐкţ¬Ê¹Óà setnu.el

http://www.zipworld.com.au/~peterm/download/setnu.el

----

info path

(add-to-list 'Info-default-directory-list "d:/MinGW/info")

----

align: £¨ÎĵµÔÚ emacs/lisp/align.el µÄ×¢ÊÍÖУ©

½«ÏÂÃæµÄ¸ñʽ£º int a = 1;

short foo = 2;

double blah = 4;

×Ô¶¯¸ÄΪ¸ñʽ£º int a = 1;

short foo = 2;

double blah = 4;

(require 'align)

M-x align-current RET

M-x align-entire RET

----

Emacs Lisp µÄ½»»¥»·¾³

M-x ielm RET

Provides a nice interface to evaluating Emacs Lisp expressions. Input

is handled by the comint package, and output is passed through the

pretty-printer.

----

ÅÐ¶Ï emacs µÄÑÕÉ«Êý£º

display-color-cells

(when (> (display-color-cells) 16) ... )

----

(hi-lock-mode 1) ¸ßÁÁģʽ

C-x w b hi-lock-write-interactive-patterns

C-x w r unhighlight-regexp

C-x w h highlight-regexp

C-x w p highlight-phrase

C-x w l highlight-lines-matching-regexp

C-x w i hi-lock-find-patterns

;; Sample file patterns:

; Hi-lock: (("^;;; .*" (0 (quote hi-black-hb) t)))

; Hi-lock: ( ("make-variable-buffer-\\(local\\)" (0 font-lock-keyword-face)(1 'italic append)))))

; Hi-lock: end

----

emacs µÄһЩ³ÌÐòµÄÓô¦

b2m ½«ÓʼþÎļþ´ÓRMAIL¸ñʽת»¯³ÉUNIXµÄmbox¸ñʽ¡£

ebrowse ʹemacs¿ÉÒÔµ÷ÓÃC++µÄÀàµÄ²ã¼¶½á¹¹¡£

emacsclient ÔÚemacs·þÎñÆ÷ÉÏÆô¶¯Ò»¸öemacs½ø³Ì¡£

etags Ò²ÊÇÒ»¸ö²úÉúÔ´Â뻥Ïà²ÎÕÕ±êÇ©ÎļþµÄ³ÌÐò¡£

grep-changelog ÁÐÓ¡±ä¸üÈÕÖ¾(ChangeLogs)ÖзûºÏ²»Í¬Ìõ¼þµÄÏîÄ¿¡£

rcs-checkin Ò»¸ö½«Îļþ¼ÓÈëRCS(Ð޸ĹÜÀíϵͳ)µÄ½Å±¾¡£

cvtmail ½«ÀÏʽµÄgoslings emacsÓʼþĿ¼ת»¯³É gnu-rmail ¸ñʽ¡£

digest-doc Ϊman page½¨Á¢nroffÊä³öµÄÂǾµ¡£

emacserver ʹÆäËûµÄ³ÌÐò»òÕßshell¿ÉÒÔ¶Áдһ¸öÕýÔÚÔËÐеÄemacs²¢ÇÒ¹²Ïíbuffers¡£

fakemail ÊÇÒ»¸öºÍsendmailÀàËÆµÄµ½ /bin/mailµÄ½çÃæ¡£

hexl ½«¶þ½øÖÆÎļþת»¯³ÉemacsÊ®Áù½øÖÆÄ£Ê½¿ÉÒÔÓõĸñʽ¡£

movemail ¿ÉÒÔ¶ÁÈ¡POP3ÓÊÏä¡£

profile ΪemacsµÄLisp´úÂëµÄprofiling²úÉúÒ»¸öÖÜÆÚÐÔʼþ¡£

rcs2log ÓÉRCSÎļþ²úÉúÒ»¸öÐÞ¸ÄÈÕÖ¾µÄǰ׺¡£

sorted-doc ½¨Á¢texinfoÎļþµÄÂǾµ

vcdiff ±È½ÏSCCSÎļþ¡£

----

ÖÐÎÄÌì¸ÉµØÖ§

from smth

ÔÚ~/.emacsÖмÓÈëÈçÏ´úÂë

(setq chinese-calendar-celestial-stem

["¼×" "ÒÒ" "±û" "¶¡" "Îì" "¼º" "¸ý" "ÐÁ" "ÈÉ" "¹ï"])

(setq chinese-calendar-terrestrial-branch

["×Ó" "³ó" "Òú" "î" "³½" "ËÈ" "Îç" "δ" "Éê" "ÓÏ" "Ðç" "º¥"])

È»ºóÔÚ calendar Öа´ p C ¾Í¿ÉÒÔ¿´µ½ÖÐÎĵÄÌì¸ÉµØÖ§ÁË

----

C-x C-n (M-x set-goal-column)

ÉèÖà next-line »ò previous-line ÃüÁîËùÈ¥µÄÁУ¬ÐèÒªÔÚij¸öÁÐÒÆ¶¯¹â±êµÄʱ

ºòºÜÓÐÓ᣿ÉÒÔ·ÀÖ¹ÓÉÓÚ (setq track-eol t) ÓÐʱºò´øÀ´µÄ²»±ã¡£

¼Ó¸ö·Ç¿ÕµÄ²ÎÊý¼´¿ÉÈ¡Ïû£¬±ÈÈç C-u C-x C-n¡£

----

type C-u 1 0 0 C-u 1 to insert 100 1's.

----

C-u 0 C-x C-s never makes a backup file.

----

Dired Öбê¼ÇÎļþÃûºÍ±ê¼Çº¬ÓÐijЩÐеÄÎļþ

* . ±ê¼ÇͬһÀ©Õ¹ÃûµÄÎļþ

% g ±ê¼ÇÆäÖÐÓÐÆ¥Åä regexp µÄÐеÄÎļþ

----

(partial-completion-mode 1)

M-x t-t-l for M-x toggle-truncate-lines

or (M-x t SPC t SPC l RET)

C-x C-f for opening "/usr/include/sys/time.h"

----

Ö±½Ó¹Øµô buffer

-(global-set-key "\C-xk" 'kill-buffer-directly)

+(global-set-key "\C-xk" 'kill-this-buffer)

kill-this-buffer ¾Í¿ÉÒÔÖ±½Ó¹Ø±Õ buffer¡£

»òÕßÏÂÃæÕâ¸ö£¬²»É¾³ý *scratch* »º³åµÄ¡£

(defun chunyu-kill-this-buffer ()

(interactive)

(if (equal (buffer-name) "*scratch*")

(progn (erase-buffer)

(set-buffer-modified-p nil)

(bury-buffer))

(kill-buffer (current-buffer))))

----

imenu ¸ù¾Ý buffer Öеĺ¯Êý¶¨ÒåÀ´Òƶ¯¹â±ê

-(define-key ctl-x-m-map "i" 'boxquote-insert-file)

+(define-key ctl-x-m-map "i" 'imenu) ; boxquote-insert-file

----

(which-func-mode 1)

ÔÚ mode-line ÖÐÏÔʾµ±Ç°ÐÐÔÚÄǸöº¯ÊýÖÐ

----

(icomplete-mode 1)

Óà M-x Ö´ÐÐij¸öÃüÁîµÄʱºò£¬ÔÚÊäÈëµÄͬʱ¸ø³ö¿ÉÑ¡µÄÃüÁîÃûÌáʾ¡£

----

Emacs µÄ Emerge ºÜºÃÓÃ

M-x emerge-files RET

So cool.

----

ÐÞ¸Ä Dired ÖÐÄÚÈÝ

Dired ʹÓà ls µÃµ½»º³åÄÚÈÝ£¬È±Ê¡µÄ²ÎÊýΪ "-al"£¬¿ÉÒÔͨ¹ý

(setq dired-listing-switches "-avl")

ÔÚ .emacs ÖÐÐ޸쬲ÎÊýÆäÖÐµÄ "v" ¿ÉÒÔʹ´óдµÄÎļþÃûÔÚ¶¥²¿¡£Ò²¿ÉÒÔÔÚ

Dired »º³åÖÐʹÓÃÃüÁ

C-u s

ÁÙʱÐ޸ġ£

----

²»ÏÔʾ Emacs µÄ¿ªÊ¼»­Ãæ

(setq inhibit-startup-message t)

----

Emacs ÕÒ²»µ½ºÏÊʵÄģʽʱ£¬È±Ê¡Ê¹Óà text-mode

(setq default-major-mode 'text-mode)

----

´æÅ̵Äʱºò£¬ÒªÇó×îºóÒ»¸ö×Ö·ûʱ»»Ðзû

ÓÐһЩÎļþ£¬ÐèÒªÕâÑùµÄ¸ñʽ£¬±ÈÈç /etc/fstab Îļþ£¬Ã»ÓÐÎļþĩβµÄ»»Ðлá

·¢Éú´íÎó¡£

(setq require-final-newline t)

----

Mini buffer ²»Òª×Ô¶¯µ÷Õû´óС

(setq resize-mini-windows nil)

----

ÔÚÐÐβÉÏÏÂÒÆ¶¯µÄ¹â±ê£¬Ê¼ÖÕ±£³ÖÔÚÐÐβ

(setq track-eol t)

----

Èà Emacs ÖÐµÄ man page buffer£¬Ê¹Óõ±Ç°´°¿Ú£¬²¢³ÉΪµ±Ç°»º³åÇø

M-x man-follow »òÕß M-x man µ¯³öµÄ buffer µÄ·½Ê½¡£

(setq Man-notify-method 'pushy)

----

µ±ÓÐÁ½¸öÎļþÃûÏàͬµÄ»º³åʱ£¬Ê¹ÓÃǰ׺µÄĿ¼Ãû×ö buffer Ãû×Ö

ĬÈÏÊÇ foobar£¬foobar &&µÄÐÎʽ

(setq uniquify-buffer-name-style 'forward)

----

ÌáʾÃüÁîËù°ó¶¨µÄ¼üµÄʱ¼ä

µ±Ê¹Óà M-x COMMAND ºó£¬¹ý 1 ÃëÖÓÏÔʾ¸Ã COMMAND °ó¶¨µÄ¼ü

(setq suggest-key-bindings 1)

----

µ±ÐÐÊý³¬¹ýÒ»¶¨ÊýÖµ£¬²»ÔÙÏÔʾÐкÅ

(setq line-number-display-limit 1000000)

----

±£Áôɾ³ýÎı¾µÄ kill-ring ×î¶àµÄ¼Ç¼¸öÊý

(setq kill-ring-max 200)

----

´ò¿ª CVS ÖеÄÎļþµÄ·ûºÅÁ¬½Óʱ£¬ÎÞÐëѯÎÊ

(setq vc-follow-symlinks t)

----

M-x apropos ʱ¶à²éѯЩ½á¹û£¬µ«ÐèÒª¸ü¶àµÄ CPU

(setq apropos-do-all nil)

----

ÿµ±ÉèÖÃÊéÇ©µÄʱºò¶¼±£´æÊéÇ©Îļþ£¬·ñÔòÖ»ÔÚÄãÍ˳ö Emacs ʱ±£´æ

(setq bookmark-save-flag 1)

----

ÔÚ mode-line ÉÏÏÔʾʱ¼ä

(display-time-mode 1)

(setq display-time-24hr-format t)

(setq display-time-day-and-date t)

(setq display-time-use-mail-icon t)

(setq display-time-interval 10)

----

ÔÚÐÐÊ× C-k ʱ£¬Í¬Ê±É¾³ý¸ÃÐÐ

(setq-default kill-whole-line t)

----

ÉèÖÃʱ¼ä´Á£¬±êʶ³ö×îºóÒ»´Î±£´æÎļþµÄʱ¼ä

(setq time-stamp-active t)

(setq time-stamp-warn-inactive t)

(setq time-stamp-format "%:y-%02m-%02d %3a %02H:%02M:%02S chunyu")

----

Emacs µÄ±¸·Ý

(setq kept-old-versions 2)

(setq kept-new-versions 5)

(setq delete-old-versions t)

(setq backup-directory-alist '(("." . "~/var/tmp")))

(setq backup-by-copying t)

Emacs ÖУ¬¸Ä±äÎļþʱ£¬Ä¬È϶¼»á²úÉú±¸·ÝÎļþ(ÒÔ ~ ½áβµÄÎļþ)¡£¿ÉÒÔÍêȫȥ

µô(²¢²»¿ÉÈ¡)£¬Ò²¿ÉÒÔÖÆ¶¨±¸·ÝµÄ·½Ê½¡£ÕâÀï²ÉÓõÄÊÇ£¬°ÑËùÓеÄÎļþ±¸·Ý¶¼·Å

ÔÚÒ»¸ö¹Ì¶¨µÄµØ·½("~/var/tmp")¡£¶ÔÓÚÿ¸ö±¸·ÝÎļþ£¬±£Áô×îԭʼµÄÁ½¸ö°æ±¾ºÍ

×îеÄÎå¸ö°æ±¾¡£²¢ÇÒ±¸·ÝµÄʱºò£¬±¸·ÝÎļþÊǸ´±¾£¬¶ø²»ÊÇÔ­¼þ¡£

----

¸Ä±ä Emacs ¹ÌÖ´µÄÒªÄã»Ø´ð yes µÄÐÐΪ£¬°´ y »ò¿Õ¸ñ¼ü±íʾ yes£¬n ±íʾ no

(fset 'yes-or-no-p 'y-or-n-p)

----

hippie-expand ËùʹÓõIJ¹È«º¯Êý¼°Ê¹ÓõÄ˳Ðò

(setq hippie-expand-try-functions-list

'(try-expand-line

try-expand-line-all-buffers

try-expand-list

try-expand-list-all-buffers

try-expand-dabbrev

try-expand-dabbrev-visible

try-expand-dabbrev-all-buffers

try-expand-dabbrev-from-kill

try-complete-file-name

try-complete-file-name-partially

try-complete-lisp-symbol

try-complete-lisp-symbol-partially

try-expand-whole-kill))

----

ÓÃÓڱ༭Զ³ÌÎļþµÄ tramp ºÍ ange-ftp µÄÉèÖÃ

(setq tramp-unified-filenames t)

(setq tramp-auto-save-directory "~/var/tramp")

(setq ange-ftp-generate-anonymous-password "user@cyber.net")

(setq ange-ftp-default-user t)

----

.emacs ÖÐÉèÖÃ register

Register ÊÇÒ»ÖÖ×ÊÔ´£¬¿ÉÒÔÓÃÀ´±£´æÎı¾(text)£¬Î»µã(mark)£¬ÎļþÃû»òĿ¼£¬

ÊýÖµµÈ¡£ËùÓеĴóСд×ÖĸºÍÊý×Ö¶¼¿ÉÒÔÓÃ×÷ Register¡£

C-x j e ¾Í´ò¿ª .emacs.el Îļþ

(set-register ?e '(file . "~/.emacs.d/.emacs.el"))

C-x j g

(set-register ?g '(file . "~/.emacs.d/.gnus.el"))

----

µ÷Õû Emacs µÄÐоà

(setq-default line-spacing nil)

----

ÉèÖà DISPLAY ±äÁ¿

µ½ÎÒµÄ Windwos »úÆ÷£¬ÉÏÃæ×°ÁË X-Win32£¬ÓÃÀ´ÏÔʾ Linux »úÆ÷É쵀 X ³ÌÐò

(setenv "DISPLAY" "chunyu:0")

----

minibuffer ȱʡÊäÈë

(minibuffer-electric-default-mode 1)

----

minibuffer ÖÐÊäÈ벿·ÖÃüÁî¾Í¿ÉÒÔʹÓò¹È«

ÀýÈ磺

M-x t-t-l RET

¾Í¿ÉÒÔÖ´ÐÐ

M-x toggle-truncate-lines¡£ÆäÖÐµÄ "-" ´¦Ö»Ðè°´¿Õ¸ñ¡£

(partial-completion-mode 1)

----

´ò¿ªÑ¹ËõÎļþʱ×Ô¶¯½âѹËõ

(auto-compression-mode 1)

----

ÏÔʾÁкÅ

(column-number-mode 1)

----

¹â±ê²»ÒªÉÁ˸

(blink-cursor-mode -1)

----

¸ßÁÁÏÔʾƥÅäµÄÀ¨ºÅ

(show-paren-mode 1)

----

²»Òª menu-bar ºÍ tool-bar

(menu-bar-mode -1)

(tool-bar-mode -1)

»òÕߣ¬ÔÚ Windows ÉÏ£¬Í¨¹ý×¢²á±í£º

HKEY_LOCAL_MACHINE\SOFTWARE\GNU\Emacs\EMACS.Toolbar=0 (REG_SZ)

----

¸ø³öÓà M-x foo-bar-COMMAND ÊäÈëÃüÁîµÄÌáʾ

(icomplete-mode 1)

----

·½±ã´ò¿ªÎļþºÍת»» buffer µÄģʽ

(ido-mode 1)

ido ģʽÖУ¬Ê¹Óà tramp µÄ²¹È«·½Ê½

(setq ido-enable-tramp-completion t)

ido ģʽÖв»±£´æÄ¿Â¼Áбí

(setq ido-save-directory-list-file nil)

----

×Ô¼ºµÄÃû×ÖºÍÓʼþµØÖ·

ºÜ¶àµØ·½Óõõ½£¬±ÈÈç VC(version control) ÖвúÉú ChangeLog Îļþ

(setq user-full-name "Chunyu Wang")

(setq user-mail-address "dddkk(at)sina(dot)com")

----

¹ØÓÚ mail µÄ¼òµ¥ÉèÖÃ

(setq mail-signature-file "~/.sig/default")

(setq mail-user-agent 'gnus-user-agent)

(setq mail-alias-file "~/.mailrc")

----

ÉèÖà gnus µÄ³õʼ»¯Îļþ

(setq gnus-inhibit-startup-message t)

(setq gnus-init-file "~/.emacs.d/.gnus.el")

----

Dired ÖеݹéµÄɾ³ý¡¢¸´ÖÆ×ÓĿ¼

(setq dired-recursive-deletes t)

(setq dired-recursive-copies t)

----

ͨ¹ý Dired ÖÐµÄ CVS Ŀ¼½øÈë pcl-cvs ½çÃæ

ÔÚÒ»¸ö CVS ±¾µØ¿½±´Ä¿Â¼µÄ Dired buffer ÖÐʱ£¬Èç¹û½øÈë CVS Ŀ¼£¬×Ô¶¯½ø

Èë PCL-CVS ½çÃæ£º

(setq cvs-dired-use-hook 'always)

----

Emacs µÄ Calendar

Emacs ÖÐÓÐÈÕÀú£¬¶øÇÒ¿ÉÒÔ³ÆÖ®ÎªÒ»¸öϵͳ£¬ÒòΪÆäÖгýÁË×î³£ÓõÄÈÕÀúÖ®Í⣬

»¹ÓÐÆäËûµÄ½üÊ®ÖÖÀú·¨£¬ÆäÖÐÓÐÈռǡ¢Ô¼»áÌáÐÑ¡¢¼ÍÄîÈÕÌáʾÒÔ¼°½Ú¼ÙÈÕÌáʾµÈ

µÈ¡£ÆäÖеÄÀú·¨°üÀ¨ÖйúµÄÅ©Àú¡¢Ï£²®À´Àú¡¢ÒÁ˹À¼Àú¡¢·¨¹ú¸ïÃüÀú¡¢ÖÐÃÀÂêÑÅ

ÀúµÈµÈ£¬¿ÉÒÔ¸ù¾Ý¾­Î³¶È¸æÖªÄãµÄËùÔÚµÄÿÌìÈÕ³öÈÕÂäµÄʱ¼äµÈµÈ¡£

----

±£´æÈռǵÄÎļþ

(setq diary-file "~/.emacs.d/.diary")

----

²é¿´ÈÕ³öÈÕÂäʱ¼ä

ÉèÖÃËùÔڵصľ­Î³¶ÈºÍµØÃû£¬calendar Öа´ S£¬¿ÉÒÔ¸ù¾ÝÕâЩÐÅÏ¢¸æÖªÄãÿÌìµÄ

ÈÕ³öºÍÈÕÂäµÄʱ¼ä£º

(setq calendar-latitude +45.75)

(setq calendar-longitude +126.63)

(setq calendar-location-name "Harbin")

----

ÓйØÈÕÀúµÄÉèÖÃ

(setq calendar-remove-frame-by-deleting t)

(setq calendar-week-start-day 1) ; ÿÖܵÚÒ»ÌìÊÇÖÜÒ»

(setq mark-diary-entries-in-calendar t) ; ±ê¼ÇÓмǼµÄÈÕ×Ó

(setq mark-holidays-in-calendar nil) ; ±ê¼Ç½Ú¼ÙÈÕ

(setq view-calendar-holidays-initially nil) ; ²»ÏÔʾ½ÚÈÕÁбí

----

È¥µôÁ˲»¸ÐÐËȤµÄ½ÚÈÕ

(setq christian-holidays nil)

(setq hebrew-holidays nil)

(setq islamic-holidays nil)

(setq solar-holidays nil)

(setq general-holidays '((holiday-fixed 1 1 "Ôªµ©")

(holiday-fixed 4 1 "ÓÞÈ˽Ú")

(holiday-float 5 0 2 "ĸÇ×½Ú")

(holiday-float 6 0 3 "¸¸Ç×½Ú")))

----

Calendar ÖÐ p C ¿ÉÒÔ¿´µ½ÎÒÃǵÄÒõÀúÓÐÖÐÎĵÄÌì¸ÉµØÖ§

(setq chinese-calendar-celestial-stem

["¼×" "ÒÒ" "±û" "¶¡" "Îì" "¼º" "¸ý" "ÐÁ" "ÈÉ" "¹ï"])

(setq chinese-calendar-terrestrial-branch

["×Ó" "³ó" "Òú" "î" "³½" "ËÈ" "Îç" "δ" "Éê" "ÓÏ" "Ðç" "º¥"])

----

¿ªÆôÓï·¨¸ßÁÁ

(global-font-lock-mode 1)

Óï·¨¸ßÁÁ£¬³ý shell-mode ºÍ text-mode Ö®ÍâµÄģʽÖÐʹÓÃÓï·¨¸ßÁÁ

(setq font-lock-maximum-decoration t)

(setq font-lock-global-modes '(not shell-mode text-mode))

(setq font-lock-verbose t)

(setq font-lock-maximum-size

'((t . 1048576) (vm-mode . 5250000)))

----

ÖÐÎÄÉèÖÃ

ĬÈϵÄÓïÑÔ»·¾³£º

(set-language-environment 'Chinese-GB)

¼üÅÌÊäÈëµÄ±àÂ룬ÓÃÓÚÊäÈë·¨£º

(set-keyboard-coding-system 'chinese-iso-8bit)

ÖÕ¶ËÏÔʾµÄ±àÂ룺

(set-terminal-coding-system 'chinese-iso-8bit)

¼ôÇа壬ÓÃÓÚºÍÆäËû³ÌÐòÖ®¼ä¸´ÖÆÄÚÈÝ£º

(set-clipboard-coding-system 'chinese-iso-8bit)

----

ȱʡÊéÇ©µÄÎļþ

(setq bookmark-default-file "~/.emacs.d/.emacs.bmk")

»òÕߣ¬²»Í¬µÄ»úÆ÷ÉÏÓò»Í¬µÄÎļþ£º

(setq bookmark-default-file

(substitute-in-file-name "~/.emacs.d/emacs_$HOSTNAME.bmk"))

ÆäÖÐµÄ HOSTNAME ÊÇ»·¾³±äÁ¿£¬Windows ϵͳÉÏ»òÐíÐèÒª×Ô¼º¶¨Òåһϡ£

----

±£´æËõд¶¨ÒåµÄÎļþ

(setq abbrev-file-name "~/.emacs.d/.abbrev_defs")

----

±£´æ customize ÉèÖõÄÎļþ

M-x customize ¹¦Äܱ£´æÉèÖõÄÎļþ£¬Ä¬ÈϵÄÊÇ Emacs µÄ³õʼ»¯Îļþ .emacs¡£

µ«ÊÇÎұȽÏϲ»¶ÓÃÁíÍâµÄÎļþ±£´æ£º

(setq custom-file "~/.emacs.d/.emacs_custom.el")

µ±È»£¬ÕâÑù»¹ÐèÒªÔÚ .emacs ÖмÓÔØÒ»Ï£º

(load custom-file)

----

Emacs TODO ģʽµÄÏà¹ØÎļþ

(setq todo-file-do "~/.emacs.d/todo-do")

(setq todo-file-done "~/.emacs.d/todo-done")

(setq todo-file-top "~/.emacs.d/todo-top")

----

?

Copyright © 2002-2004 DataBase Laboratory.All rights reserved.

This page was last modified on Saturday, 11 September 2004 by Wang Chunyu. Powered by Zope 2.6.2.

[ÊÕ²Ø] [´òÓ¡] [¹Ø±Õ] [·µ»Ø¶¥²¿]

×îÐÂͼƬÎÄÕÂ

×îÐÂÎÄÕÂ