国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
emacs23的使用
轉(zhuǎn)載:http://www.cppblog.com/guangping/archive/2006/08/25/11683.html
要想emacs成為自已最得力的工具,根本上是要設(shè)置好配置文件.emacs,如何配置好這個文件在網(wǎng)絡(luò)上其實已經(jīng)有很多文章,但相對都比較雜亂。通過近一個月的摸索,我也終于配置了一個比較順手的配置。但我要說的是,只是對我而言比較順我手,但有一點比較讓大家放心的是我的習慣可能也是大多數(shù)人的習慣。比較個性化的配置,我都沒有采納,以下是內(nèi)容:


;============================ 語言環(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)
;;取消滾動欄

;;(customize-set-variable ‘scroll-bar-mode ‘right))
;;設(shè)置滾動欄在窗口右側(cè),而默認是在左側(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è)置   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(display-time-mode 1);;啟用時間顯示設(shè)置,在minibuffer上面的那個杠上
(setq display-time-24hr-format t);;時間使用24小時制
(setq display-time-day-and-date t);;時間顯示包括日期和具體時間
(setq display-time-use-mail-icon t);;時間欄旁邊啟用郵件設(shè)置
(setq display-time-interval 10);;時間的變化頻率,單位多少來著?
 
;;;;;;;;;;;;;;;;;;;;;;;;;;;  顯示時間設(shè)置結(jié)束  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;定制操作習慣;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

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

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

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

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

(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)
;;顯示行列號

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

(setq kill-ring-max 200)
;;設(shè)置粘貼緩沖條目數(shù)量.用一個很大的kill ring(最多的記錄個數(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, 這會引起很多奇怪的錯誤。編輯 Makefile 的時候也不用擔心,因為 makefile-mode 會把 TAB 鍵設(shè)置成真正的 TAB 字符,并且加亮顯示的。

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

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

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

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

(setq show-paren-mode t) ;;打開括號匹配顯示模式
(setq show-paren-style ‘parenthesis)
;;括號匹配時可以高亮顯示另外一邊的括號,但光標不會煩人的跳到另一個括號處。

(setq mouse-avoidance-mode ‘a(chǎn)nimate)
;;光標靠近鼠標指針時,讓鼠標指針自動讓開,別擋住視線。

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

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

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

;(auto-compression-mode 1)  
;打開壓縮文件時自動解壓縮。

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

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

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

;; (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 中,改變文件時,默認都會產(chǎn)生備份文件(以 ~ 結(jié)尾的文件)。可以完全去掉
;; (并不可取),也可以制定備份的方式。這里采用的是,把所有的文件備份都放在一
;; 個固定的地方("~/backups")。對于每個備份文件,保留最原始的兩個版本和最新的
;; 1個版本。并且備份的時候,備份文件是復(fù)本,而不是原件。

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

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

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

(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)
;;使用鼠標中鍵可以粘貼

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

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

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

(setq track-eol t)
;; 當光標在行尾上下移動的時候,始終保持在行尾。

(setq Man-notify-method ‘pushy)
;; 當瀏覽 man page 時,直接跳轉(zhuǎn)到 man buffer。

(setq next-line-add-newlines nil)
;;Emacs 21 中已經(jīng)是缺省設(shè)置。按 C-n 或向下鍵時不添加新行。
 
(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 的另一個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, 保存所有文件然后編譯當前窗口文件

(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)
;;目的是開一個shell的小buffer,用于更方便地測試程序(也就是運行程序了),我經(jīng)常會用到。
;;f8就是另開一個buffer然后打開shell,C-f8則是在當前的buffer打開shell

(setq speedbar-show-unknown-files t);;可以顯示所有目錄以及文件
(setq dframe-update-speed nil);;不自動刷新,手動 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 可以上下移動,
;; + 展開目錄或文件進行瀏覽,- 收縮,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è)置時間戳,標識出最后一次保存文件的時間。

(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-@ 很不好按。

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;定制操作習慣結(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里有個功能是日月食的預(yù)測,和你的經(jīng)緯度相聯(lián)系的。
;; 讓emacs能計算日出日落的時間,在 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)     ; 標記calendar上有diary的日期
(setq mark-holidays-in-calendar nil)        ; 為了突出有diary的日期,calendar上不標記節(jié)日
(setq view-calendar-holidays-initially nil) ; 打開calendar的時候不顯示一堆節(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 "勞動節(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模式支持各種方式來更改當前日期
;;(這里的“前”是指還沒有到來的那一天,“后”是指已經(jīng)過去的日子)
;;  q      退出calendar模式
;; C-f     讓當前日期向前一天
;; C-b     讓當前日期向后一天
;; C-n     讓當前日期向前一周
;; C-p     讓當前日期向后一周
;; M-}     讓當前日期向前一個月
;; M-{     讓當前日期向后一個月
;; C-x ]   讓當前日期向前一年
;; C-x [   讓當前日期向后一年
;; C-a     移動到當前周的第一天
;; C-e     移動到當前周的最后一天
;; M-a     移動到當前月的第一天
;; M-e     多動到當前月的最后一天
;; M-<     移動到當前年的第一天
;; M->     移動到當前年的最后一天

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

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

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


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


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



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

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

;; 創(chuàng)建一個事件的樣例:
;; 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   為當天日期添加一個事件
;; i w   為當天周創(chuàng)建一個周事件
;; i m   為當前月創(chuàng)建一個月事件
;; i y   為當前年創(chuàng)建一個年事件
;; i a   為當前日期創(chuàng)建一個周年紀念日
;; i c   創(chuàng)建一個循環(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)境、注冊五筆字型輸入法。保存.emacs后請重新啟動emacs,
;;使得上面的設(shè)置生效?,F(xiàn)在您可以用快捷鍵C-\ (同時按住 Ctrl和反斜線鍵)喚出五筆字型輸入法了。
;;在emacs的mode line上會出現(xiàn)“五筆字型”的字樣。

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


;======================= cscope 設(shè)置 =======================
;;使用 cscope 瀏覽源代碼,這個xcscope是個改進版,為每一次查找的結(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             對目錄中的相關(guān)文件建立列表并進行索引
;; C-c s s             序找符號
;; C-c s g             尋找全局的定義
;; C-c s c             看看指定函數(shù)被哪些函數(shù)所調(diào)用
;; C-c s C             看看指定函數(shù)調(diào)用了哪些函數(shù)
;; C-c s e             尋找正則表達式
;; 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è)置 ==================
;;增加一個顯示行號的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è)置 ============================
;;再增加一個顯示行號的功能
(add-to-list ‘load-path  "~/lisp/setnu")
(require ‘setnu)
(global-set-key [f2] (quote setnu-mode))

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


;====================== rect-mark設(shè)置 =========================
;; 按下shift拖拽鼠標即可選擇矩形區(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 是在啟動 info 時
;;用Info-default-directory-list 來初始的。所以要添加 Info 目錄是要設(shè)置 Info-default-directory-list。
;;在添加的 Info 目錄中,創(chuàng)建一個叫 dir 的文件(其實所有 Info-directory-list 里有一個文件就行了,
;;在 ${emacs}/info 文件夾下有這個文件,修改這個也可以)。

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

;; n:跳轉(zhuǎn)到該節(jié)點的下一個節(jié)點;          
;; p:跳轉(zhuǎn)到該節(jié)點的上一個節(jié)點;
;; m: 指定菜單名而選擇另外一個節(jié)點;
;; f:進入交叉引用主題;
;; l:進入該窗口中的最后一個節(jié)點;
;; TAB:跳轉(zhuǎn)到該窗口的下一個超文本鏈接;
;; RET:進入光標處的超文本鏈接;
;; u:轉(zhuǎn)到上一級主題;
;; d:回到 info 的初始節(jié)點目錄;
;; 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è)置 ===========================
;;當我們保存文件的時候,有很多信息可以自動更新.如何自動更新信息, 更新那些信息,
;也是可以完全自己配置. 包括文件名稱,最后一次修改時間,文件保存次數(shù),最后一次修改的作者等等.
;;可以用 M-x make-header 自動生成文件頭信息.
(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),大家別看錯!!

;======================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 在多個的服務(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 "XXXXXXX" ;; 用戶名
;;       :port "110"
       :password "XXXXXX"))) ;; 密碼
(setq gnus-secondary-select-methods ‘((nnfolder "")))



(setq user-full-name "XXXXXXXX") ;; 外發(fā)的郵件采用這個名字
(setq user-mail-address "XXXXXX@163.com") ;;外發(fā)的郵件采用這個地址
(setq smtpmail-auth-credentials
      ‘(("smtp.163.com" ;; SMTP服務(wù)器
      25
      "XXXXXX" ;; 用戶名
      "XXXXXX"))) ;; 密碼
(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 默認的保質(zhì)期是7天,如果你覺得時間不合適,可以自己設(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ā)出時間轉(zhuǎn)換為本地時間

(gnus-add-configuration ‘(article
                          (vertical 1.0
                                    (summary .4 point)
                                    (article 1.0))))
;; 改變閱讀新聞時窗口的布局,窗口劃分為上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)
;; 有時訂閱了很多新聞組,堆在一起不好管理。這個功能可以創(chuàng)建目錄來分層管理

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

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



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

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

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

;;把C++語言風格設(shè)置為stroustrup風格
(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)
;;能把一個代碼塊縮起來,需要的時候再展開
;;  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)
;;輸入左邊的括號,就會自動補全右邊的部分.包括(), "", [] , {} , 等等。

;=========================================================================
(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     ;當前的buffer補全
    try-expand-dabbrev-visible   ;別的可見的窗口里尋找補全
    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 的補全方式。它是一個優(yōu)先列表, hippie-expand 會優(yōu)先使用表最前面的函數(shù)來補全。

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


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



;;========================== 方便編程操作設(shè)置結(jié)束====================================
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
一個比較好中文說明的emacs配置文件
windows下的emacs23配置 - Emacs - 晉如,摧如
在 Ubuntu 6.10 下安裝 emacs 23 (unicode-2 branch) 版本
[程序員小助手] Emacs,最強編輯器,沒有之一
EMACS基礎(chǔ)入門精要
Common LISP Hints
更多類似文章 >>
生活服務(wù)
分享 收藏 導長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服