• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            emacs23的使用


            ;============================ 語言環(huán)境字符集設(shè)置 =================================
            ;;這一部份主要用在linux 環(huán)境下,windows下沒什么作用
            ;; (set-language-environment 'Chinese-GB)
            ;; (set-keyboard-coding-system 'utf-8)
            ;; (set-clipboard-coding-system 'utf-8)
            ;; (set-terminal-coding-system 'utf-8)
            ;; (set-buffer-file-coding-system 'utf-8)
            ;; (set-default-coding-systems 'utf-8)
            ;; (set-selection-coding-system 'utf-8)
            ;; (modify-coding-system-alist 'process "*" 'utf-8)
            ;; (setq default-process-coding-system '(utf-8 . utf-8))
            ;; (setq-default pathname-coding-system 'utf-8)
            ;; (set-file-name-coding-system 'utf-8)
            ;; (setq ansi-color-for-comint-mode t) ;;處理shell-mode亂碼,好像沒作用
            ;=========================== 語言環(huán)境字符集設(shè)置結(jié)束 ===============================

            ;============================ MS Windows環(huán)境下字體設(shè)置 ===========================
            (setq default-frame-alist
            (append
              '((font . "fontset-chinese")) default-frame-alist))


            (create-fontset-from-fontset-spec
              "-outline-Courier New-normal-r-normal-normal-13-97-96-96-c-*-fontset-chinese")
            (set-fontset-font
             "fontset-default" nil
             "-outline-新宋體-normal-r-normal-normal-14-*-96-96-c-*-iso10646-1" nil 'prepend)
            (set-fontset-font
             "fontset-chinese" 'kana
             "-outline-新宋體-normal-r-normal-normal-14-*-96-96-c-*-iso10646-1" nil 'prepend)
            (set-fontset-font
             "fontset-chinese" 'han
             "-outline-新宋體-normal-r-normal-normal-14-*-96-96-c-*-iso10646-1" nil 'prepend)
            (set-fontset-font
             "fontset-chinese" 'cjk-misc
             "-outline-新宋體-normal-r-normal-normal-14-*-96-96-c-*-iso10646-1" nil 'prepend)
            (set-fontset-font
             "fontset-chinese" 'symbol
             "-outline-新宋體-normal-r-normal-normal-14-*-96-96-c-*-iso10646-1" nil 'prepend)
            (set-default-font "fontset-chinese")

            ;===========================MS Windows環(huán)境下字體設(shè)置結(jié)束 =========================

             

            ;============================ Linux環(huán)境下字體設(shè)置 =================================

            ;; (create-fontset-from-fontset-spec
            ;; "-*-courier-medium-r-normal-*-14-*-*-*-*-*-fontset-courier")
            ;; (set-default-font "fontset-courier")
            ;; (setq default-frame-alist
            ;; (append
            ;; '((font . "fontset-courier")) default-frame-alist))

            ;; (set-fontset-font
            ;; "fontset-default" nil
            ;; "-*-simsun-*-*-*-*-14-*-*-*-*-*-gb2312.1980-*" nil 'prepend)
            ;; (set-fontset-font
            ;; "fontset-courier" 'kana
            ;; "-*-simsun-*-*-*-*-14-*-*-*-*-*-gbk-0" nil 'prepend)
            ;; (set-fontset-font
            ;; "fontset-courier" 'han
            ;; "-*-simsun-*-*-*-*-14-*-*-*-*-*-gbk-0" nil 'prepend)
            ;; (set-fontset-font
            ;; "fontset-courier" 'cjk-misc
            ;; "-*-simsun-*-*-*-*-14-*-*-*-*-*-gbk-0" nil 'prepend)

            ;============================ Linux環(huán)境下字體設(shè)置結(jié)束 ==============================


            ;;;;;;;;;;;;;;;;;;;;語言環(huán)境字體設(shè)置結(jié)束;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


            ;;解決中英文混排不能正確fill的問題,好像沒什么用
            ;; (put-charset-property 'chinese-cns11643-5 'nospace-between-words t)
            ;; (put-charset-property 'chinese-cns11643-6 'nospace-between-words t)
            ;; (put-charset-property 'chinese-cns11643-7 'nospace-between-words t)


            ;;;;;;;;;;;;;;;;;;;;;;;;;;;  設(shè)置窗口界面 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

            (set-foreground-color "grey")
            (set-background-color "black")
            (set-cursor-color "gold1")
            (set-mouse-color "gold1")

            (set-scroll-bar-mode nil)
            ;;取消滾動(dòng)欄

            ;;(customize-set-variable 'scroll-bar-mode 'right))
            ;;設(shè)置滾動(dòng)欄在窗口右側(cè),而默認(rèn)是在左側(cè)

            (tool-bar-mode nil)
            ;;取消工具欄

            (setq default-frame-alist
                         '((vertical-scroll-bars) 
                           (top . 25)
                           (left . 45)                              
                           (width . 110)
                           (height . 40)          
                           (background-color . "black")
                           (foreground-color . "grey")
                           (cursor-color     . "gold1")
                           (mouse-color      . "gold1")
                           (tool-bar-lines . 0)
                           (menu-bar-lines . 1)
                           (right-fringe)
                           (left-fringe)))

                          
            ;; 設(shè)置另外一些顏色:語法高亮顯示的背景和主題,區(qū)域選擇的背景和主題,二次選擇的背景和選擇
            (set-face-foreground 'highlight "white")
            (set-face-background 'highlight "blue")
            (set-face-foreground 'region "cyan")
            (set-face-background 'region "blue")
            (set-face-foreground 'secondary-selection "skyblue")
            (set-face-background 'secondary-selection "darkblue")

             

            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;  設(shè)置界面結(jié)束  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

             

            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;   顯示時(shí)間設(shè)置   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            (display-time-mode 1);;啟用時(shí)間顯示設(shè)置,在minibuffer上面的那個(gè)杠上
            (setq display-time-24hr-format t);;時(shí)間使用24小時(shí)制
            (setq display-time-day-and-date t);;時(shí)間顯示包括日期和具體時(shí)間
            (setq display-time-use-mail-icon t);;時(shí)間欄旁邊啟用郵件設(shè)置
            (setq display-time-interval 10);;時(shí)間的變化頻率,單位多少來著?
             
            ;;;;;;;;;;;;;;;;;;;;;;;;;;;  顯示時(shí)間設(shè)置結(jié)束  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

             


            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;定制操作習(xí)慣;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

            ;;設(shè)置打開文件的缺省路徑
            (setq default-directory "/")

            ;;ido的配置,這個(gè)可以使你在用C-x C-f打開文件的時(shí)候在后面有提示;
            ;;這里是直接打開了ido的支持,在emacs23中這個(gè)是自帶的.
            (ido-mode t)

            (setq visible-bell t)
            ;;關(guān)閉煩人的出錯(cuò)時(shí)的提示聲
            (setq inhibit-startup-message t)
            ;;關(guān)閉emacs啟動(dòng)時(shí)的畫面

            (setq gnus-inhibit-startup-message t)
            ;;關(guān)閉gnus啟動(dòng)時(shí)的畫面

            (fset 'yes-or-no-p 'y-or-n-p)
            ;; 改變 Emacs 固執(zhí)的要你回答 yes 的行為。按 y 或空格鍵表示 yes,n 表示 no。

            (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)))
            ;; 語法高亮。除 shell-mode 和 text-mode 之外的模式中使用語法高亮。

            (setq column-number-mode t)
            (setq line-number-mode t)
            ;;顯示行列號(hào)

            (setq mouse-yank-at-point t)
            ;;不要在鼠標(biāo)點(diǎn)擊的那個(gè)地方插入剪貼板內(nèi)容。我不喜歡那樣,經(jīng)常把我的文檔搞的一團(tuán)糟。我覺得先用光標(biāo)定位,然后鼠標(biāo)中鍵點(diǎn)擊要好的多。不管你的光標(biāo)在文檔的那個(gè)位置,或是在 minibuffer,鼠標(biāo)中鍵一點(diǎn)擊,X selection 的內(nèi)容就被插入到那個(gè)位置。

            (setq kill-ring-max 200)
            ;;設(shè)置粘貼緩沖條目數(shù)量.用一個(gè)很大的kill ring(最多的記錄個(gè)數(shù)). 這樣防止我不小心刪掉重要的東西

            (setq-default auto-fill-function 'do-auto-fill)
             ; Autofill in all modes;;
            (setq default-fill-column 120)
            ;;把 fill-column 設(shè)為 60. 這樣的文字更好讀

            (setq-default indent-tabs-mode nil)
            (setq default-tab-width 8)
            (setq tab-stop-list ())
            ;;不用 TAB 字符來indent, 這會(huì)引起很多奇怪的錯(cuò)誤。編輯 Makefile 的時(shí)候也不用擔(dān)心,因?yàn)?makefile-mode 會(huì)把 TAB 鍵設(shè)置成真正的 TAB 字符,并且加亮顯示的。

            (setq sentence-end "\\([。!?]\\|……\\|[.?!][]\"')}]*\\($\\|[ \t]\\)\\)[ \t\n]*")
            (setq sentence-end-double-space nil)
            ;;設(shè)置 sentence-end 可以識(shí)別中文標(biāo)點(diǎn)。不用在 fill 時(shí)在句號(hào)后插入兩個(gè)空格。

            (setq enable-recursive-minibuffers t)
            ;;可以遞歸的使用 minibuffer

            (setq scroll-margin 3  scroll-conservatively 10000)
            ;;防止頁面滾動(dòng)時(shí)跳動(dòng), scroll-margin 3 可以在靠近屏幕邊沿3行時(shí)就開始滾動(dòng),可以很好的看到上下文。

            (setq default-major-mode 'text-mode)
            (add-hook 'text-mode-hook 'turn-on-auto-fill)
            ;;設(shè)置缺省主模式是text,,并進(jìn)入auto-fill次模式.而不是基本模式fundamental-mode

            (setq show-paren-mode t) ;;打開括號(hào)匹配顯示模式
            (setq show-paren-style 'parenthesis)
            ;;括號(hào)匹配時(shí)可以高亮顯示另外一邊的括號(hào),但光標(biāo)不會(huì)煩人的跳到另一個(gè)括號(hào)處。

            (setq mouse-avoidance-mode 'animate)
            ;;光標(biāo)靠近鼠標(biāo)指針時(shí),讓鼠標(biāo)指針自動(dòng)讓開,別擋住視線。

            (setq frame-title-format "emacs@%b")
            ;;在標(biāo)題欄顯示buffer的名字,而不是 emacs@wangyin.com 這樣沒用的提示。

            (setq uniquify-buffer-name-style 'forward);;好像沒起作用
            ;; 當(dāng)有兩個(gè)文件名相同的緩沖時(shí),使用前綴的目錄名做 buffer 名字,不用原來的foobar<?> 形式。

            (setq auto-image-file-mode t)
            ;;讓 Emacs 可以直接打開和顯示圖片。

            ;(auto-compression-mode 1)  
            ;打開壓縮文件時(shí)自動(dòng)解壓縮。

            (setq global-font-lock-mode t)
            ;;進(jìn)行語法加亮。

            (setq-default kill-whole-line t)
            ;; 在行首 C-k 時(shí),同時(shí)刪除該行。

            (add-hook 'comint-output-filter-functions
                  'comint-watch-for-password-prompt)
            ;;當(dāng)你在shell、telnet、w3m等模式下時(shí),必然碰到過要輸入密碼的情況,此時(shí)加密顯出你的密碼

            ;; (setq version-control t);;啟用版本控制,即可以備份多次
            ;; (setq kept-old-versions 2);;備份最原始的版本兩次,及第一次編輯前的文檔,和第二次編輯前的文檔
            ;; (setq kept-new-versions 1);;備份最新的版本1次,理解同上
            ;; (setq delete-old-versions t);;刪掉不屬于以上3中版本的版本
            ;; (setq backup-directory-alist '(("." . "~/backups")));;設(shè)置備份文件的路徑
            ;; (setq backup-by-copying t);;備份設(shè)置方法,直接拷貝
            ;; Emacs 中,改變文件時(shí),默認(rèn)都會(huì)產(chǎn)生備份文件(以 ~ 結(jié)尾的文件)。可以完全去掉
            ;; (并不可取),也可以制定備份的方式。這里采用的是,把所有的文件備份都放在一
            ;; 個(gè)固定的地方("~/backups")。對(duì)于每個(gè)備份文件,保留最原始的兩個(gè)版本和最新的
            ;; 1個(gè)版本。并且備份的時(shí)候,備份文件是復(fù)本,而不是原件。

            (setq make-backup-files nil)
            ;; 設(shè)定不產(chǎn)生備份文件

            (setq auto-save-mode nil)
            ;;自動(dòng)保存模式

            (setq-default make-backup-files nil)
            ;; 不生成臨時(shí)文件

            (put 'scroll-left 'disabled nil)     ;允許屏幕左移
            (put 'scroll-right 'disabled nil)    ;允許屏幕右移
            (put 'set-goal-column 'disabled nil)
            (put 'narrow-to-region 'disabled nil)
            (put 'upcase-region 'disabled nil)
            (put 'downcase-region 'disabled nil)
            (put 'LaTeX-hide-environment 'disabled nil)
            ;;把這些缺省禁用的功能打開。

            ;;允許emacs和外部其他程序的粘貼
            (setq x-select-enable-clipboard t)

            (setq mouse-yank-at-point t)
            ;;使用鼠標(biāo)中鍵可以粘貼

            (setq user-full-name "王光平")
            (setq user-mail-address "getmails@163.com")
            ;;設(shè)置有用的個(gè)人信息,這在很多地方有用。

            (setq require-final-newline t)
            ;; 自動(dòng)的在文件末增加一新行

            (setq-default transient-mark-mode t)
            ;;Non-nil if Transient-Mark mode is enabled.

            (setq track-eol t)
            ;; 當(dāng)光標(biāo)在行尾上下移動(dòng)的時(shí)候,始終保持在行尾。

            (setq Man-notify-method 'pushy)
            ;; 當(dāng)瀏覽 man page 時(shí),直接跳轉(zhuǎn)到 man buffer。

            (setq next-line-add-newlines nil)
            ;;Emacs 21 中已經(jīng)是缺省設(shè)置。按 C-n 或向下鍵時(shí)不添加新行。
             
            (global-set-key [home] 'beginning-of-buffer)
            (global-set-key [end] 'end-of-buffer)
            ;;設(shè)置home鍵指向buffer開頭,end鍵指向buffer結(jié)尾


            (global-set-key (kbd "C-,") 'scroll-left)
            ;; "C-,"設(shè)為屏幕左移命令
            (global-set-key (kbd "C-.") 'scroll-right)
            ;; "C-."設(shè)為屏幕右移命令

            (global-set-key [f1] 'manual-entry)
            (global-set-key [C-f1] 'info )

            (global-set-key [f3] 'repeat-complex-command)

            (global-set-key [f4] 'other-window)
            ;; 跳轉(zhuǎn)到 Emacs 的另一個(gè)buffer窗口

            (defun du-onekey-compile ()
              "Save buffers and start compile"
              (interactive)
              (save-some-buffers t)
              (switch-to-buffer-other-window "*compilation*")
              (compile compile-command))
              (global-set-key [C-f5] 'compile)
              (global-set-key [f5] 'du-onekey-compile)
            ;;  C-f5, 設(shè)置編譯命令; f5, 保存所有文件然后編譯當(dāng)前窗口文件

            (global-set-key [f6] 'gdb)            
            ;;F6設(shè)置為在Emacs中調(diào)用gdb

            (global-set-key [C-f7] 'previous-error)
            (global-set-key [f7] 'next-error)

            (defun open-eshell-other-buffer ()
              "Open eshell in other buffer"
              (interactive)
              (split-window-vertically)
              (eshell))
            (global-set-key [(f8)] 'open-eshell-other-buffer)
            (global-set-key [C-f8] 'eshell)
            ;;目的是開一個(gè)shell的小buffer,用于更方便地測(cè)試程序(也就是運(yùn)行程序了),我經(jīng)常會(huì)用到。
            ;;f8就是另開一個(gè)buffer然后打開shell,C-f8則是在當(dāng)前的buffer打開shell

            (setq speedbar-show-unknown-files t);;可以顯示所有目錄以及文件
            (setq dframe-update-speed nil);;不自動(dòng)刷新,手動(dòng) g 刷新
            (setq speedbar-update-flag nil)
            (setq speedbar-use-images nil);;不使用 image 的方式
            (setq speedbar-verbosity-level 0)

            (global-set-key [f9] 'speedbar)
            ;;設(shè)置f9調(diào)用speedbar命令
            ;;使用 n 和 p 可以上下移動(dòng),
            ;; + 展開目錄或文件進(jìn)行瀏覽,- 收縮,RET 訪問目錄或文件,g 更新 speedbar。

            (setq dired-recursive-copies 'top)
            (setq dired-recursive-deletes 'top)
            ;;讓 dired 可以遞歸的拷貝和刪除目錄。
            (global-set-key [C-f9] 'dired)
            ;;設(shè)置[C-f9]為調(diào)用dired命令

            (global-set-key [f10] 'undo)            
            ;;設(shè)置F10為撤銷

            (global-set-key [f11] 'calendar)
            ;;設(shè)置F11快捷鍵指定Emacs 的日歷系統(tǒng)

            (global-set-key [f12] 'list-bookmarks)
            ;;設(shè)置F12 快速察看日程安排

            (setq time-stamp-active t)
            (setq time-stamp-warn-inactive t)
            (setq time-stamp-format "%:y-%02m-%02d %3a %02H:%02M:%02S chunyu")
            ;; 設(shè)置時(shí)間戳,標(biāo)識(shí)出最后一次保存文件的時(shí)間。

            (global-set-key (kbd "M-g") 'goto-line)
            ;;設(shè)置M-g為goto-line

            (global-set-key (kbd "C-SPC") 'nil)
            ;;取消control+space鍵設(shè)為mark

            (global-set-key (kbd "M-<SPC>") 'set-mark-command)
            ;;這樣 我就不用按 C-@ 來 setmark 了, C-@ 很不好按。

            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;定制操作習(xí)慣結(jié)束;;;;;;;;;;;;;;;;;;;;;;;;;;;;


            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  設(shè)置日歷 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
            ;;設(shè)置日歷的一些顏色
            (setq calendar-load-hook
            '(lambda ()
            (set-face-foreground 'diary-face "skyblue")
            (set-face-background 'holiday-face "slate blue")
            (set-face-foreground 'holiday-face "white")))

            ;;設(shè)置我所在地方的經(jīng)緯度,calendar里有個(gè)功能是日月食的預(yù)測(cè),和你的經(jīng)緯度相聯(lián)系的。
            ;; 讓emacs能計(jì)算日出日落的時(shí)間,在 calendar 上用 S 即可看到
            (setq calendar-latitude +39.54)
            (setq calendar-longitude +116.28)
            (setq calendar-location-name "北京")

            ;; 設(shè)置陰歷顯示,在 calendar 上用 pC 顯示陰歷
            (setq chinese-calendar-celestial-stem
              ["甲" "乙" "丙" "丁" "戊" "己" "庚" "辛" "壬" "癸"])
            (setq chinese-calendar-terrestrial-branch
              ["子" "丑" "寅" "卯" "辰" "巳" "戊" "未" "申" "酉" "戌" "亥"])

            ;; 設(shè)置 calendar 的顯示
            (setq calendar-remove-frame-by-deleting t)
            (setq calendar-week-start-day 1)            ; 設(shè)置星期一為每周的第一天
            (setq mark-diary-entries-in-calendar t)     ; 標(biāo)記calendar上有diary的日期
            (setq mark-holidays-in-calendar nil)        ; 為了突出有diary的日期,calendar上不標(biāo)記節(jié)日
            (setq view-calendar-holidays-initially nil) ; 打開calendar的時(shí)候不顯示一堆節(jié)日

            ;; 去掉不關(guān)心的節(jié)日,設(shè)定自己在意的節(jié)日,在 calendar 上用 h 顯示節(jié)日
            (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 2 14 "情人節(jié)")
                                     (holiday-fixed 3 14 "白色情人節(jié)")
                                     (holiday-fixed 4 1 "愚人節(jié)")
                                     (holiday-fixed 5 1 "勞動(dòng)節(jié)")
                                     (holiday-float 5 0 2 "母親節(jié)")
                                     (holiday-fixed 6 1 "兒童節(jié)")
                                     (holiday-float 6 0 3 "父親節(jié)")
                                     (holiday-fixed 7 1 "建黨節(jié)")
                                     (holiday-fixed 8 1 "建軍節(jié)")
                                     (holiday-fixed 9 10 "教師節(jié)")
                                     (holiday-fixed 10 1 "國慶節(jié)")
                                     (holiday-fixed 12 25 "圣誕節(jié)")))

            ;;Calendar模式支持各種方式來更改當(dāng)前日期
            ;;(這里的“前”是指還沒有到來的那一天,“后”是指已經(jīng)過去的日子)
            ;;  q      退出calendar模式
            ;; C-f     讓當(dāng)前日期向前一天
            ;; C-b     讓當(dāng)前日期向后一天
            ;; C-n     讓當(dāng)前日期向前一周
            ;; C-p     讓當(dāng)前日期向后一周
            ;; M-}     讓當(dāng)前日期向前一個(gè)月
            ;; M-{     讓當(dāng)前日期向后一個(gè)月
            ;; C-x ]   讓當(dāng)前日期向前一年
            ;; C-x [   讓當(dāng)前日期向后一年
            ;; C-a     移動(dòng)到當(dāng)前周的第一天
            ;; C-e     移動(dòng)到當(dāng)前周的最后一天
            ;; M-a     移動(dòng)到當(dāng)前月的第一天
            ;; M-e     多動(dòng)到當(dāng)前月的最后一天
            ;; M-<     移動(dòng)到當(dāng)前年的第一天
            ;; M->     移動(dòng)到當(dāng)前年的最后一天

            ;;Calendar模式支持移動(dòng)多種移動(dòng)到特珠日期的方式
            ;; g d     移動(dòng)到一個(gè)特別的日期
            ;;  o      使某個(gè)特殊的月分作為中間的月分
            ;;  .      移動(dòng)到當(dāng)天的日期
            ;; p d     顯示某一天在一年中的位置,也顯示本年度還有多少天。
            ;; C-c C-l 刷新Calendar窗口

            ;; Calendar支持生成LATEX代碼。
            ;; t m     按月生成日歷
            ;; t M     按月生成一個(gè)美化的日歷
            ;; t d     按當(dāng)天日期生成一個(gè)當(dāng)天日歷
            ;; t w 1   在一頁上生成這個(gè)周的日歷
            ;; t w 2   在兩頁上生成這個(gè)周的日歷
            ;; t w 3   生成一個(gè)ISO-SYTLE風(fēng)格的當(dāng)前周日歷
            ;; t w 4   生成一個(gè)從周一開始的當(dāng)前周日歷
            ;; t y     生成當(dāng)前年的日歷

            ;;EMACS Calendar支持配置節(jié)日:
            ;; h       顯示當(dāng)前的節(jié)日
            ;; x       定義當(dāng)天為某個(gè)節(jié)日
            ;; u       取消當(dāng)天已被定義的節(jié)日
            ;; e       顯示所有這前后共三個(gè)月的節(jié)日。
            ;; M-x holiday  在另外的窗口的顯示這前后三個(gè)月的節(jié)日。


            ;; 另外,還有一些特殊的,有意思的命令:
            ;; S       顯示當(dāng)天的日出日落時(shí)間(是大寫的S)
            ;; p C     顯示農(nóng)歷可以使用
            ;; g C     使用農(nóng)歷移動(dòng)日期可以使用


            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  日歷設(shè)置結(jié)束 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

             

            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  設(shè)置日記 ;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;

            (setq diary-file "~/diary");; 默認(rèn)的日記文件
            (setq diary-mail-addr "getmails@163.com")
            (add-hook 'diary-hook 'appt-make-list)
            ;;當(dāng)你創(chuàng)建了一個(gè)'~/diary'文件,你就可以使用calendar去查看里面的內(nèi)容。你可以查看當(dāng)天的事件,相關(guān)命令如下 :
            ;;  d     顯示被選中的日期的所有事件
            ;;  s     顯示所有事件,包括過期的,未到期的等等

            ;; 創(chuàng)建一個(gè)事件的樣例:
            ;; 02/11/1989
            ;;     Bill B. visits Princeton today
            ;;     2pm Cognitive Studies Committee meeting
            ;;     2:30-5:30 Liz at Lawrenceville
            ;;     4:00pm Dentist appt
            ;;     7:30pm Dinner at George's
            ;;     8:00-10:00pm concert

            ;; 創(chuàng)建事件的命令:
            ;; i d   為當(dāng)天日期添加一個(gè)事件
            ;; i w   為當(dāng)天周創(chuàng)建一個(gè)周事件
            ;; i m   為當(dāng)前月創(chuàng)建一個(gè)月事件
            ;; i y   為當(dāng)前年創(chuàng)建一個(gè)年事件
            ;; i a   為當(dāng)前日期創(chuàng)建一個(gè)周年紀(jì)念日
            ;; i c   創(chuàng)建一個(gè)循環(huán)的事件


            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;  設(shè)置日記結(jié)束  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

             

            ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; 自定義lisp包設(shè)置  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


            ;=======================五筆輸入法設(shè)置======================
            ;; (add-to-list 'load-path "~/lisp/wubi/wubi")
            ;; (require 'wubi)
            ;; (register-input-method "chinese-wubi" "Chinese-GB" 'quail-use-package "wubi" "wubi")
            ;; (wubi-load-local-phrases)
            ;; (setq default-input-method "chinese-wubi")


            ;;這幾句Lisp代碼的作用是設(shè)置中文環(huán)境、注冊(cè)五筆字型輸入法。保存.emacs后請(qǐng)重新啟動(dòng)emacs,
            ;;使得上面的設(shè)置生效。現(xiàn)在您可以用快捷鍵C-\ (同時(shí)按住 Ctrl和反斜線鍵)喚出五筆字型輸入法了。
            ;;在emacs的mode line上會(huì)出現(xiàn)“五筆字型”的字樣。

            ;=======================五筆輸入法設(shè)置結(jié)束===================


            ;======================= cscope 設(shè)置 =======================
            ;;使用 cscope 瀏覽源代碼,這個(gè)xcscope是個(gè)改進(jìn)版,為每一次查找的結(jié)果使用不同 buffer ,
            ;;這樣就可以保存以前的結(jié)果。

            (add-to-list 'load-path  "~/lisp/xcscope") ;; 將軟件包所在的路徑加到 EMACS 的 load-path
            (require 'xcscope) ;; 加載相應(yīng)的軟件

            ;; C-c s a             設(shè)定初始化的目錄,一般是你代碼的根目錄
            ;; C-s s I             對(duì)目錄中的相關(guān)文件建立列表并進(jìn)行索引
            ;; C-c s s             序找符號(hào)
            ;; C-c s g             尋找全局的定義
            ;; C-c s c             看看指定函數(shù)被哪些函數(shù)所調(diào)用
            ;; C-c s C             看看指定函數(shù)調(diào)用了哪些函數(shù)
            ;; C-c s e             尋找正則表達(dá)式
            ;; C-c s f             尋找文件
            ;; C-c s i             看看指定的文件被哪些文件include


            ;===================== cscope 設(shè)置結(jié)束 ======================


            ;======================== tabbar設(shè)置 ========================
            (add-to-list 'load-path  "~/lisp/tabbar")
            (require 'tabbar)
            (tabbar-mode)
            ;========================tabbar設(shè)置結(jié)束=======================


            ;======================= wb-line-number設(shè)置 ==================
            ;;增加一個(gè)顯示行號(hào)的buffer
            ;(add-to-list 'load-path  "~/lisp/wb-line-number")
            ;(require 'wb-line-number)
            ;(wb-line-number-enable)
            ;====================== wb-line-number設(shè)置結(jié)束 ================

            ;======================= setnu設(shè)置 ============================
            ;;再增加一個(gè)顯示行號(hào)的功能
            (add-to-list 'load-path  "~/lisp/setnu")
            (require 'setnu)
            (global-set-key [f2] (quote setnu-mode))

            ;======================= setnu設(shè)置結(jié)束 =====================


            ;====================== rect-mark設(shè)置 =========================
            ;; 按下shift拖拽鼠標(biāo)即可選擇矩形區(qū)域
            ;; Support for marking a rectangle of text with highlighting.
            (add-to-list 'load-path  "~/lisp/rect-mark")
            (require 'rect-mark)
            (define-key ctl-x-map "r\C-@" 'rm-set-mark)
            (define-key ctl-x-map [?r ?\C-\ ] 'rm-set-mark)
            (define-key ctl-x-map "r\C-x" 'rm-exchange-point-and-mark)
            (define-key ctl-x-map "r\C-w" 'rm-kill-region)
            (define-key ctl-x-map "r\M-w" 'rm-kill-ring-save)
            (define-key global-map [S-down-mouse-1] 'rm-mouse-drag-region)
            (autoload 'rm-set-mark "rect-mark"
              "Set mark for rectangle." t)
            (autoload 'rm-exchange-point-and-mark "rect-mark"
              "Exchange point and mark for rectangle." t)
            (autoload 'rm-kill-region "rect-mark"
              "Kill a rectangular region and save it in the kill ring." t)
            (autoload 'rm-kill-ring-save "rect-mark"
              "Copy a rectangular region to the kill ring." t)
            (autoload 'rm-mouse-drag-region "rect-mark"
              "Drag out a rectangular region with the mouse." t)

            ;; Use this section in your "~/.emacs" to modify picture mode so that
            ;; it automatically uses the rect-mark equivalents of many commands.

            ;; One vision of a better picture mode.
            (add-hook 'picture-mode-hook 'rm-example-picture-mode-bindings)
            (autoload 'rm-example-picture-mode-bindings "rect-mark"
              "Example rect-mark key and mouse bindings for picture mode.")

            ;=====================  rect-mark設(shè)置結(jié)束 =========================

            ;=====================  info文件設(shè)置 ==============================
            ;;Info 的菜單是按 Info-directory-list 的順序列出的,而 Info-directory-list 是在啟動(dòng) info 時(shí)
            ;;用Info-default-directory-list 來初始的。所以要添加 Info 目錄是要設(shè)置 Info-default-directory-list。
            ;;在添加的 Info 目錄中,創(chuàng)建一個(gè)叫 dir 的文件(其實(shí)所有 Info-directory-list 里有一個(gè)文件就行了,
            ;;在 ${emacs}/info 文件夾下有這個(gè)文件,修改這個(gè)也可以)。

            (add-to-list 'Info-default-directory-list  "~/lisp/info/")

            ;; n:跳轉(zhuǎn)到該節(jié)點(diǎn)的下一個(gè)節(jié)點(diǎn);          
            ;; p:跳轉(zhuǎn)到該節(jié)點(diǎn)的上一個(gè)節(jié)點(diǎn);
            ;; m: 指定菜單名而選擇另外一個(gè)節(jié)點(diǎn);
            ;; f:進(jìn)入交叉引用主題;
            ;; l:進(jìn)入該窗口中的最后一個(gè)節(jié)點(diǎn);
            ;; TAB:跳轉(zhuǎn)到該窗口的下一個(gè)超文本鏈接;
            ;; RET:進(jìn)入光標(biāo)處的超文本鏈接;
            ;; u:轉(zhuǎn)到上一級(jí)主題;
            ;; d:回到 info 的初始節(jié)點(diǎn)目錄;
            ;; h:調(diào)出 info 教程;
            ;; q:退出 info。

            ;===================  info文件設(shè)置結(jié)束 ============================


            ;===================== AUCTeX設(shè)置 =================================
            (load "~/lisp/auctex/site-lisp/auctex.el" nil t t)
            (load "~/lisp/auctex/site-lisp/preview-latex.el" nil t t)
            (setq TeX-auto-save t)
            (setq TeX-parse-self t)
            (setq-default TeX-master nil)
            (add-hook 'LaTeX-mode-hook #'LaTeX-install-toolbar)
            (add-hook 'LaTeX-mode-hook 'turn-on-auto-fill)
            (add-hook 'LaTeX-mode-hook 'turn-on-reftex)

            ;===================== AUCTeX設(shè)置結(jié)束 =============================


            ;===================== 文件頭header設(shè)置 ===========================
            ;;當(dāng)我們保存文件的時(shí)候,有很多信息可以自動(dòng)更新.如何自動(dòng)更新信息, 更新那些信息,
            ;也是可以完全自己配置. 包括文件名稱,最后一次修改時(shí)間,文件保存次數(shù),最后一次修改的作者等等.
            ;;可以用 M-x make-header 自動(dòng)生成文件頭信息.
            (add-to-list 'load-path  "~/lisp/header")
            (require 'header)
            (setq make-header-hooks '(header-mode-line
                                        header-blank
                                        header-file-name
                                        header-blank
                                        header-copyright
                                        header-blank
                                        header-author
                                        header-creation-date
                                        header-modification-author
                                        header-modification-date
                                        header-update-count
                                        header-blank
                                        header-history
                                        header-blank
                                        ))
            (setq header-copyright-notice "  源成工作室 作品" )
            (make-local-variable 'user-full-name)
            (make-local-variable 'user-mail-address)

            ;===================== 文件頭header設(shè)置結(jié)束 ==========================


            ;===================== template設(shè)置 =================================
            (add-to-list 'load-path  "~/lisp/template")
            (require 'template)
            (template-initialize)

            ;===================== template設(shè)置結(jié)束===============================

            ;===================== cedet設(shè)置 =====================================

            (add-to-list 'load-path "~/lisp/cedet-1.0pre3/speedbar")
            (add-to-list 'load-path "~/lisp/cedet-1.0pre3/eieio")
            (add-to-list 'load-path "~/lisp/cedet-1.0pre3/semantic")
            (add-to-list 'load-path "~/lisp/cedet-1.0pre3/common")
            (require 'cedet)
            ;; (add-to-list 'load-path "~/lisp/ecb-2.32")
            ;; (require 'ecb)

            ;; Ecb的操作:
            ;; C-c . g d 目錄列表窗口
            ;; C-c . g s 源碼窗口
            ;; C-c . g m 方法和變量窗口
            ;; C-c . g h 歷史窗口
            ;; C-c . g l 最后選擇過的編輯窗口
            ;; C-c . g 1 編輯窗口1
            ;; C-c . g n 編輯窗口n
            ;; C-c . l c 選擇版面
            ;; C-c . l r 重畫版面
            ;; C-c . l t 拴牢版面(鎖定版面)
            ;; C-c . l w 拴牢可見的ecb窗口
            ;; C-c . \   拴牢編繹窗口

            ;; 其中l(wèi)為小寫字母(L),大家別看錯(cuò)!!

            ;======================cedet設(shè)置結(jié)束==================================

             


            ;;;;;;;;;;;;;;;;;;;;;;;;;; 自定義lisp包設(shè)置結(jié)束  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

             


            ;=====================    GNUS設(shè)置  =================================
            (setq gnus-select-method '(nntp "news.yaako.com"))
            (setq gnus-default-subscribed-newsgroups
              '( "cn.comp.os.linux")) ;;

            ;; (add-to-list 'gnus-secondary-select-methods '(nntp "news.yourSecondProvider.net"))
            ;; (add-to-list 'gnus-secondary-select-methods '(nntp "news.yourThirdProvider.net"))
            ;;想讓 Gnus 在多個(gè)的服務(wù)器上取新聞


            ;;中文相關(guān)
            (set-language-environment 'Chinese-GB)
            (setq gnus-default-charset 'chinese-iso-8bit
               gnus-group-name-charset-group-alist '((".*" . chinese-iso-8bit))
               gnus-summary-show-article-charset-alist
                   '((1 . chinese-iso-8bit)
                     (2 . gbk)
                     (3 . big5)
                     (4 . utf-8))
               gnus-newsgroup-ignored-charsets
                   '(unknown-8bit x-unknown iso-8859-1))


            (setq mail-sources
                   '((pop :server "pop3.163.com" ;; 在這里設(shè)置pop3服務(wù)器
                   :user "66656799" ;; 用戶名
            ;;       :port "110"
                   :password "wcmwlw"))) ;; 密碼
            (setq gnus-secondary-select-methods '((nnfolder "")))

             

            (setq user-full-name "getmails") ;; 外發(fā)的郵件采用這個(gè)名字
            (setq user-mail-address "getmails@163.com") ;;外發(fā)的郵件采用這個(gè)地址
            (setq smtpmail-auth-credentials
                  '(("smtp.163.com" ;; SMTP服務(wù)器
                  25
                  "getmails" ;; 用戶名
                  "wcmwlw"))) ;; 密碼
            (setq smtpmail-default-smtp-server "smtp.163.com")
            (setq smtpmail-smtp-server "smtp.163.com")
            (setq message-send-mail-function 'smtpmail-send-it)

            (setq nnmail-expiry-wait 3);;Gnus 默認(rèn)的保質(zhì)期是7天,如果你覺得時(shí)間不合適,可以自己設(shè)置

            (add-hook 'gnus-article-prepare-hook
                      (lambda ()
                        (setq fill-column 60)
                        (gnus-article-fill-long-lines)))
            ;;讓gnus把這種郵件排版整齊后再顯示給我們看

            (add-hook 'gnus-article-prepare-hook 'gnus-article-date-local)
            ;;將郵件的發(fā)出時(shí)間轉(zhuǎn)換為本地時(shí)間

            (gnus-add-configuration '(article
                                      (vertical 1.0
                                                (summary .4 point)
                                                (article 1.0))))
            ;; 改變閱讀新聞時(shí)窗口的布局,窗口劃分為上4下6(比例)

            (eval-after-load "mm-decode"
              '(progn
                 (add-to-list 'mm-discouraged-alternatives "text/html")
                 (add-to-list 'mm-discouraged-alternatives "text/richtext")))
            ;另外,有些用web方式發(fā)出的郵件里有html,加入下面的設(shè)置,只看其中的
            ;plain text部分:

            (setq gnus-thread-sort-functions
                  '(
                    (not gnus-thread-sort-by-date)
                    (not gnus-thread-sort-by-number)
                    ))
            ;;排序

            (add-hook 'gnus-group-mode-hook 'gnus-topic-mode)
            ;; 有時(shí)訂閱了很多新聞組,堆在一起不好管理。這個(gè)功能可以創(chuàng)建目錄來分層管理

            (setq gnus-read-newsrc-file nil  gnus-save-newsrc-file nil)

            ;========================   GNUS設(shè)置結(jié)束  ===============================

             

            ;;=========================== 方便編程操作的設(shè)置=====================================

            (setq compile-command "make")
            ;;emacs的默認(rèn)compile命令是調(diào)用make -k,我把它改成了make。你也可以把它改成其他的,比如gcc之類的.

            ;;把c語言風(fēng)格設(shè)置為k&r風(fēng)格
            (add-hook 'c-mode-hook
            '(lambda ()
            (c-set-style "k&r")))

            ;;把C++語言風(fēng)格設(shè)置為stroustrup風(fēng)格
            (add-hook 'c++-mode-hook
            '(lambda()
            (c-set-style "stroustrup")))

            ;========================================================================

            (load-library "hideshow")
            (add-hook 'c-mode-hook 'hs-minor-mode)
            (add-hook 'c++-mode-hook 'hs-minor-mode)
            (add-hook 'java-mode-hook 'hs-minor-mode)
            (add-hook 'perl-mode-hook 'hs-minor-mode)
            (add-hook 'php-mode-hook 'hs-minor-mode)
            (add-hook 'emacs-lisp-mode-hook 'hs-minor-mode)
            ;;能把一個(gè)代碼塊縮起來,需要的時(shí)候再展開
            ;;  M-x              hs-minor-mode
            ;;  C-c @ ESC C-s    show all
            ;;  C-c @ ESC C-h    hide all
            ;;  C-c @ C-s        show block
            ;;  C-c @ C-h        hide block
            ;;  C-c @ C-c toggle hide/show

            ;========================================================================

            (defun my-c-mode-auto-pair ()
              (interactive)
              (make-local-variable 'skeleton-pair-alist)
              (setq skeleton-pair-alist  '(
                (?` ?` _ "''")
                (?\( ?  _ " )")
                (?\[ ?  _ " ]")
                (?{ \n > _ \n ?} >)))
              (setq skeleton-pair t)
              (local-set-key (kbd "(") 'skeleton-pair-insert-maybe)
              (local-set-key (kbd "{") 'skeleton-pair-insert-maybe)
              (local-set-key (kbd "`") 'skeleton-pair-insert-maybe)
              (local-set-key (kbd "[") 'skeleton-pair-insert-maybe))
            (add-hook 'c-mode-hook 'my-c-mode-auto-pair)
            (add-hook 'c++-mode-hook 'my-c-mode-auto-pair)
            ;;輸入左邊的括號(hào),就會(huì)自動(dòng)補(bǔ)全右邊的部分.包括(), "", [] , {} , 等等。

            ;=========================================================================
            (setq semantic-load-turn-everything-on t)
            ;(add-hook 'semantic-init-hooks 'semantic-idle-completions-mode)

            (setq semanticdb-project-roots
                    (list
                    (expand-file-name "/")))
            ;;配置Semantic的檢索范圍

            (setq semanticdb-default-save-directory "~/")
            ;;設(shè)置semantic.cache路徑

            (global-set-key [(meta ?/)] 'hippie-expand)
            ;;M-/ 綁定到 hippie-expand

            (autoload 'senator-try-expand-semantic "senator")
            (setq hippie-expand-try-functions-list
                  '(senator-try-expand-semantic  ;優(yōu)先調(diào)用了senator的分析結(jié)果
                    try-expand-dabbrev     ;當(dāng)前的buffer補(bǔ)全
             try-expand-dabbrev-visible   ;別的可見的窗口里尋找補(bǔ)全
             try-expand-dabbrev-all-buffers  ;所有打開的buffer
             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))
            ;設(shè)置 hippie-expand 的補(bǔ)全方式。它是一個(gè)優(yōu)先列表, hippie-expand 會(huì)優(yōu)先使用表最前面的函數(shù)來補(bǔ)全。

            ;=========================================================================


            ;==========================================================================

             

            ;;========================== 方便編程操作設(shè)置結(jié)束====================================


             

            posted on 2006-08-25 09:35 王光平 閱讀(6227) 評(píng)論(3)  編輯 收藏 引用 所屬分類: linux世界

            評(píng)論

            # re: emacs23的使用[未登錄] 2007-10-30 22:10 Andrew

            哥們,你這個(gè)太牛了  回復(fù)  更多評(píng)論   

            # re: emacs23的使用 2007-12-18 16:23 liuchuan98

            太感謝了!
            我的emacs23字體老是不能顯示那個(gè)“镕”,有了你這個(gè)就可以了,哈哈。  回復(fù)  更多評(píng)論   

            # re: emacs23的使用[未登錄] 2008-04-08 08:05 david

            頂  回復(fù)  更多評(píng)論   

            <2007年2月>
            28293031123
            45678910
            11121314151617
            18192021222324
            25262728123
            45678910

            導(dǎo)航

            統(tǒng)計(jì)

            留言簿(4)

            隨筆分類

            隨筆檔案

            搜索

            最新評(píng)論

            久久影院午夜理论片无码| 久久精品人人做人人爽电影蜜月 | 久久妇女高潮几次MBA| 狠狠色丁香久久婷婷综合| 久久99国产乱子伦精品免费| 7国产欧美日韩综合天堂中文久久久久 | 少妇精品久久久一区二区三区| 青青草国产成人久久91网| 中文字幕无码久久人妻| 狠狠色丁香婷婷久久综合不卡| 人妻系列无码专区久久五月天| 精品综合久久久久久888蜜芽| 久久强奷乱码老熟女| 国产成人精品久久二区二区| 怡红院日本一道日本久久 | 国产精品va久久久久久久| 波多野结衣久久一区二区| 中文字幕亚洲综合久久| 国产成人久久AV免费| 麻豆av久久av盛宴av| 四虎国产精品成人免费久久| 国产精品免费久久| 99久久99久久| A狠狠久久蜜臀婷色中文网| 国产精品99久久久精品无码| 久久艹国产| 久久国产精品免费| 色综合久久综合网观看| 国内精品久久久久影院免费| 久久国产精品成人片免费| 久久久女人与动物群交毛片| 色综合久久无码中文字幕| 一本一本久久A久久综合精品 | 亚洲中文字幕无码久久精品1| 亚洲精品99久久久久中文字幕| 久久精品国产一区二区| 国产高清美女一级a毛片久久w| 久久久91精品国产一区二区三区| 久久国产乱子精品免费女| 亚洲国产精品久久久久| 久久996热精品xxxx|