2011年9月14日

          Windows下ORACLE 10g安裝與操作圖解

          Oracle 2008-08-07 08:17:34 閱讀7580 評(píng)論8 字號(hào):大中小 

          剛剛接觸ORACLE的人來(lái)說(shuō),從那里學(xué),如何學(xué),有那些工具可以使用,應(yīng)該執(zhí)行什么操作,一定回感到無(wú)助。所以在學(xué)習(xí)使用ORACLE之前,首先來(lái)安裝一下ORACLE 10g,在來(lái)掌握其基本工具。俗話說(shuō)的好:工欲善其事,必先利其器。我們開(kāi)始吧!

            首先將ORACLE 10g的安裝光盤(pán)放入光驅(qū),如果自動(dòng)運(yùn)行,一般會(huì)出現(xiàn)如圖1安裝界面:


          圖1

            單擊“開(kāi)始安裝”,就可以安裝ORACLE 10g,一般會(huì)檢查系統(tǒng)配置是否符合要求,然后出現(xiàn)“Oracle DataBase 10g安裝”對(duì)話框,如圖2所示:



          圖2

            在安裝Oracle DataBase 10g時(shí)可以選擇“基本安裝”和“高級(jí)安裝”兩種方法。選擇“基本安裝”時(shí),“Oracle主目錄位置”用于指定Oracle DataBase 10g軟件的存放位置;“安裝類(lèi)型”用于指定Oracle產(chǎn)品的安裝類(lèi)型(企業(yè)版、標(biāo)準(zhǔn)版和個(gè)人版)。如果選擇“創(chuàng)建啟動(dòng)數(shù)據(jù)庫(kù)”,那就要指定全局?jǐn)?shù)據(jù)庫(kù)名稱(chēng)和數(shù)據(jù)庫(kù)用戶的口令。

            選擇“高級(jí)安裝”,單擊“下一步”,會(huì)出現(xiàn)“指定文件對(duì)話框”,在源路徑顯示的是安裝產(chǎn)品所在的磁盤(pán)路徑;目標(biāo)名稱(chēng)用于資定Oracle主目錄所對(duì)應(yīng)的環(huán)境變量,目標(biāo)路徑用于指定安裝Oracle軟件的目標(biāo)安裝路徑。設(shè)置目標(biāo)名稱(chēng)為:OraDb10g_home1,目標(biāo)路徑為:D:oracleproduct10.1.0db1。如圖3:



          圖3

            單擊“下一步”,會(huì)加載Oracle產(chǎn)品列表,然后出現(xiàn)“選擇安裝類(lèi)型”對(duì)話框;如圖4:



          圖4

            選擇安裝類(lèi)型時(shí)一般選擇“企業(yè)版”,單擊“下一步”,會(huì)出現(xiàn)“選擇數(shù)據(jù)庫(kù)配置”對(duì)話框,如圖5 :



          圖5

            在“選擇數(shù)據(jù)庫(kù)配置”對(duì)話框中可以選擇是否要?jiǎng)?chuàng)建啟動(dòng)數(shù)據(jù)庫(kù),如果要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù)還要選擇建立數(shù)據(jù)庫(kù)的類(lèi)型。選擇“不創(chuàng)建啟動(dòng)數(shù)據(jù)庫(kù)”單擊“下一步”,會(huì)出現(xiàn)“概要”對(duì)話框,如圖6所示:



          圖6

            單擊“安裝”,就會(huì)開(kāi)始安裝Oracle DataBase 10g產(chǎn)品了。如圖7為安裝過(guò)程:



          圖7

            圖8為安裝完成



          圖8

            在安裝完成Oracle Database 10g后,就要建立數(shù)據(jù)庫(kù)。

             數(shù)據(jù)庫(kù)配置助手(Database Configuration Assistant)用于創(chuàng)建數(shù)據(jù)庫(kù)、配置數(shù)據(jù)庫(kù)選項(xiàng)、刪除數(shù)據(jù)庫(kù)和管理模板。在安裝Oracle database 10g的時(shí)候如果沒(méi)有建立數(shù)據(jù)庫(kù),在安裝完成之后就可以使用數(shù)據(jù)庫(kù)配置助手(DBCA)建立數(shù)據(jù)庫(kù)。

             建立數(shù)據(jù)庫(kù)的方法有兩種,第一種是在命令行下直接運(yùn)行:dbca;第二種是點(diǎn)擊開(kāi)始菜單:開(kāi)始=>程序=>Oracle=>oraDb10g_home1=>Configuration and Migration Tool=>Database Configuration Assistant。如圖1:



          圖1

            之后,具體步驟如下,先出現(xiàn)歡迎對(duì)話框,如圖2:



          圖2

            單擊“下一步”,出現(xiàn)“操作”對(duì)話框,該對(duì)話框用于要執(zhí)行的數(shù)據(jù)庫(kù)操作(創(chuàng)建數(shù)據(jù)庫(kù)、配置數(shù)據(jù)庫(kù)選項(xiàng)、刪除數(shù)據(jù)庫(kù)和管理模板),如圖3:



          圖3

            如果是第一次創(chuàng)建數(shù)據(jù)庫(kù),只能創(chuàng)建數(shù)據(jù)庫(kù)和管理模板可以使用,選擇創(chuàng)建數(shù)據(jù)庫(kù),單擊“下一步”,會(huì)出現(xiàn)數(shù)據(jù)庫(kù)模板對(duì)話框,如圖4:



          圖4

            數(shù)據(jù)庫(kù)模板是本地硬盤(pán)上的XML文件,用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)的配置信息。

            選擇“事務(wù)處理”,單擊“下一步”,會(huì)顯示數(shù)據(jù)庫(kù)標(biāo)示對(duì)話框,該對(duì)話框用于設(shè)置全局?jǐn)?shù)據(jù)庫(kù)名和例程名。如圖5:



          圖5

            全局?jǐn)?shù)據(jù)庫(kù)名,格式一般為:db_name.db_domain。db_name用于對(duì)應(yīng)數(shù)據(jù)庫(kù)名,db_domain對(duì)應(yīng)于網(wǎng)絡(luò)域名。SID(例程)應(yīng)該與db_name完全一致.如圖5都設(shè)置為:demo.

            單擊“下一步”,會(huì)出現(xiàn)“管理選項(xiàng)”對(duì)話框。用于設(shè)置OEM管理信息,如圖6:



          圖6

            如果要集中管理所有的Oracle數(shù)據(jù)庫(kù),那就要選擇“Grid Control管理數(shù)據(jù)庫(kù)”,如果只管理本地?cái)?shù)據(jù)庫(kù),那就選擇“使用Database Control管理數(shù)據(jù)庫(kù)”。

            選擇“使用Database Control管理數(shù)據(jù)庫(kù)”,單擊“下一步”,會(huì)出現(xiàn)“數(shù)據(jù)庫(kù)身份證明”對(duì)話框,該對(duì)話框用于設(shè)置初始數(shù)據(jù)庫(kù)用戶帳號(hào)的口令。如圖7:



          圖7

            要選擇用戶SYS、SYSTEM、DBSNMP、SYSMAN使用相同的口令,那就選擇“所有賬戶使用同一口令”。這里選擇“使用不同的口令”,分別設(shè)置用戶的口令:SYS用戶的口令為ORACLE,SYSTEM用戶的口令為MANAGER,DBSNMP用戶的口令為DBSNMP,SYSMAN用戶的口令為SYSMAN。

            設(shè)置口令后,單擊“下一步”,會(huì)出現(xiàn)“存儲(chǔ)選項(xiàng)”對(duì)話框,該對(duì)話框用于指定數(shù)據(jù)庫(kù)的存儲(chǔ)機(jī)制(文件系統(tǒng)、自動(dòng)存儲(chǔ)管理、裸設(shè)備),如圖8:



          圖8

            選擇“文件系統(tǒng)”,單擊“下一步”,會(huì)出現(xiàn)“數(shù)據(jù)庫(kù)文件位置”對(duì)話框,該對(duì)話框用于指定數(shù)據(jù)庫(kù)文件的存放位置。如圖9:
             

            圖9

            選擇“使用模板中的數(shù)據(jù)庫(kù)文件位置”,單擊“下一步”,會(huì)出現(xiàn)“恢復(fù)配置”對(duì)話框,該對(duì)話框用于指定數(shù)據(jù)庫(kù)的恢復(fù)選項(xiàng),如圖10:
            

            圖10

            快速恢復(fù)區(qū)用于恢復(fù)數(shù)據(jù),以免系統(tǒng)發(fā)生故障時(shí)丟失數(shù)據(jù);啟用歸檔用于將數(shù)據(jù)庫(kù)設(shè)置為ARCHIVELOG模式,使得當(dāng)數(shù)據(jù)庫(kù)出現(xiàn)失敗時(shí)可以完全恢復(fù)數(shù)據(jù)庫(kù)數(shù)據(jù)。

            單擊“下一步”,會(huì)出現(xiàn)“數(shù)據(jù)庫(kù)內(nèi)容”對(duì)話框,該對(duì)話框用指定是否安裝示例方案,并運(yùn)行自定義腳本。如圖11:



          圖11

            單擊“下一步”,會(huì)出現(xiàn)“初始化參數(shù)”對(duì)話框,該對(duì)話框用配置初始化參數(shù)、數(shù)據(jù)庫(kù)字符集和連接模式。如圖12:
             

            圖12

            這里的內(nèi)容相對(duì)初學(xué)者來(lái)說(shuō)有墊補(bǔ)好理解,放到后面講解。

            單擊“下一步”,會(huì)出現(xiàn)“數(shù)據(jù)庫(kù)存儲(chǔ)”對(duì)話框,該對(duì)話框用指定控制文件、數(shù)據(jù)文件、重做日志文件、名稱(chēng)和尺寸。如圖13:
             

            圖13

            單擊“下一步”,會(huì)出現(xiàn)“創(chuàng)建選項(xiàng)”對(duì)話框,該對(duì)話框用指定建立數(shù)據(jù)庫(kù),還是保存為數(shù)據(jù)庫(kù)模板。如圖14:
            

           圖14

            單擊“完成”,會(huì)顯示“確認(rèn)”對(duì)話框,列出了要安裝Oracle選項(xiàng)的所有信息。如圖15:
             

            圖15

            單擊“確定”,就完成數(shù)據(jù)庫(kù)的建立過(guò)程。就會(huì)開(kāi)始數(shù)據(jù)庫(kù)的建立,如圖16:



          圖16

            當(dāng)數(shù)據(jù)庫(kù)建立完成后,就會(huì)出現(xiàn)如下對(duì)話框,如圖17:
             

            圖17

            當(dāng)建立完成數(shù)據(jù)庫(kù)后,系統(tǒng)會(huì)鎖定除SYS、SYSTEM、DBSNMP、SYSMAN之外的所有其他用戶。應(yīng)為以后要使用SCOTT用戶,所以在點(diǎn)擊“口令管理”按鈕后,解鎖SCOTT用戶,如圖18:
             

            圖18

            指定用戶口令為TIGER,單擊“確定”按鈕,最后單擊“退出”按鈕完成數(shù)據(jù)庫(kù)建立的全部過(guò)程。


          posted @ 2011-10-24 10:00 longsooooon 閱讀(838) | 評(píng)論 (0)編輯 收藏

          超簡(jiǎn)單方法解決Struts2中一個(gè)action處理多個(gè)請(qǐng)求
          關(guān)鍵字: struts2, action, 多個(gè)方法
              這幾天用Struts2+MySQL做名片管理系統(tǒng)的時(shí)候,遇到了一些問(wèn)題,或許別人看來(lái)不是什么問(wèn)題,但作為一個(gè)剛剛開(kāi)始學(xué)習(xí)Struts2的新手,
          很多東西對(duì)我來(lái)說(shuō)還是很有難度的.比如我現(xiàn)在要說(shuō)的在一個(gè)action中處理多個(gè)請(qǐng)求的問(wèn)題.

              簡(jiǎn)要描述一下問(wèn)題的產(chǎn)生:我要做的名片管理系統(tǒng)中的一個(gè)用戶管理模塊,其中有兩個(gè)最主要的方法就是登錄和注冊(cè),這兩個(gè)方法都是在UserAction中處理.
          而按照通常的狀況而言,一個(gè)Action中只會(huì)有一個(gè)execute方法,也就只能解決一個(gè)請(qǐng)求(大概看了下Struts,好像其中可以通過(guò)在form中加一個(gè)hidden元素,
          然后再在execute方法中用getCommond()的方法來(lái)進(jìn)行判別).不過(guò)我在Struts2中沒(méi)有發(fā)現(xiàn)類(lèi)似的解決辦法,這也很有可能是我剛剛學(xué)習(xí)Struts2造成的,
          畢竟到現(xiàn)在我都還沒(méi)弄到一本完整的教材,就只是到處找了些零散的資料,然后,做的過(guò)程遇到問(wèn)題再自己猜想結(jié)合google找到的一些東西來(lái)尋求解決.

              遇到這個(gè)問(wèn)題之后,我自己開(kāi)始沒(méi)有想明白是什么狀況,該怎么解決.于是在網(wǎng)上找了下,找到的方法貌似都不是很簡(jiǎn)單,要么就很復(fù)雜,要么就要涉及一些比較深的知識(shí).
          后面我在執(zhí)行這個(gè)程序的時(shí)候,發(fā)現(xiàn)Eclipse提出的一個(gè)warning,而正是這個(gè)warning給了我很大的提示,讓我找到的解決方法.

              Warning是這樣的:No configuration found for the specified action: 'UserAction.action' in namespace: '/pages/user'.
          Form action defaulting to 'action' attribute's literal value. 原因就是我在struts.xml中定義的action的name與login.jsp中的form中的action的name不一致,
          將兩個(gè)的名字改成相同就好了,不要求以.action結(jié)束,如都為:LoginAction,也就是struts.xml中的<action name="LoginAction" class="main.UserAction">,
          和JSP頁(yè)面中的<s:form action="LoginAction" method="POST">.


              而在struts.xml中定義的action還有一個(gè)參數(shù)method,既然已經(jīng)可以根據(jù)action的name找到對(duì)應(yīng)的action,那還要這個(gè)參數(shù)做什么呢?另外,execute在不更改的情況下,
          也是默認(rèn)會(huì)調(diào)用的方法,再結(jié)合自己在網(wǎng)上找到的一些資料,我覺(jué)得可以嘗試一下將struts.xml中的action中的method進(jìn)行設(shè)置.
          于是就有了下面的兩個(gè)action的配置:struts.xml中的<action name="login" class="main.UserAction"  method="login">和
          JSP頁(yè)面中的<s:form action="login" method="POST">. 提交上面的表單form的時(shí)候,在struts.xml中找到該form對(duì)應(yīng)的action的方法為login(),
          于是就到類(lèi)UserAction中找到該方法并調(diào)用.因而也就能夠調(diào)用UserAction類(lèi)的login()方法了.
              這樣上面的問(wèn)題也就可以解釋了:因?yàn)閮蓚€(gè)地方定義的方法的名字不同,所以在點(diǎn)擊登錄進(jìn)行l(wèi)ogin.jsp的時(shí)候就會(huì)彈出上述提示,
          但由于struts.xml中只定義(配置)一個(gè)action,默認(rèn)的方法為execute(),故而編譯器還是能夠找到該方法進(jìn)行執(zhí)行.
              根據(jù)上面的推斷,因而可以再添加一個(gè)注冊(cè)頁(yè)面register.jsp,將其中的表單form定義為:<s:form action="register" method="POST">,
          而將struts.xml增加一個(gè)設(shè)置:<action name="register" class="main.UserAction" method="register">.
          這樣當(dāng)register.jsp的action請(qǐng)求被攔截器攔截之后通過(guò)struts.xml的配置就可以找到UserAction類(lèi)的register()方法進(jìn)行相應(yīng)的處理了,
          因而也就可以實(shí)現(xiàn)一個(gè)UserAction中處理多個(gè)請(qǐng)求action了.

              PS:由于本人剛剛學(xué)習(xí)Struts2不到兩個(gè)星期,而且以前也沒(méi)有接觸過(guò)Struts方面的程序設(shè)計(jì).所以,
          肯定會(huì)有理解不對(duì)的地方,麻煩各位發(fā)現(xiàn)的朋友幫我指出來(lái),謝謝

           來(lái)自:http://www.360doc.com/content/09/1122/16/144699_9541328.shtml
          posted @ 2011-10-09 17:37 longsooooon 閱讀(1617) | 評(píng)論 (0)編輯 收藏
          windows下安裝emacs及添加配置文件(網(wǎng)絡(luò)整合收集)

          前言
          在這個(gè)蔚藍(lán)色的星球上,流傳著兩大神器的傳說(shuō):據(jù)說(shuō)Emacs是神的編輯器,而Vim是編輯器之神。
          一些人勇敢地拾起了Vim或Emacs,卻發(fā)現(xiàn)學(xué)習(xí)曲線陡峭而漫長(zhǎng),還是有一些人留下來(lái)了,堅(jiān)定地守護(hù)著這兩大神器。
          一些說(shuō)葡萄太酸的人想離開(kāi)又不甘心,總是問(wèn):它們到底神在哪里啊?
          Emacs和Vim介紹來(lái)自:http://os.51cto.com/art/201101/242518.htm

          首先我們需要下載windows版的emacs,官網(wǎng)下載地址:
          http://ftp.gnu.org/pub/gnu/emacs/windows/
          比如我下載的是:emacs-23.3-bin-i386.zip
          在硬盤(pán)里解壓后有個(gè)addpm.exe,雙擊運(yùn)行它。

          在Windows下是無(wú)法手動(dòng)建立.emacs文件的,你可以打開(kāi)emacs然后在Options下隨便
          挑個(gè)選項(xiàng)比如:Paren Match Highlighting然后點(diǎn)Save Options
          你就可以看到下面的提示
          Wrote c:/Documents and Settings/Administrator/Application Data/.emacs
          這時(shí)已經(jīng)生成.emacs文件了。
          為了以后可以反復(fù)使用配置和插件,我們需要改變插件導(dǎo)入路徑,在C:\Documents
          and Settings\Administrator\Application Data\.emacs添加下面代碼

          '(load-file "D:\emacs-23.3\.emacs");;要在第一行且單獨(dú)一行
          然后在D:\emacs-23.3文件下建立配置文件.emacs,寫(xiě)入下面的代碼。

          ;;改變默認(rèn)路徑
          (setenv "HOME" "D:/emacs-23.3")
          (setenv "PATH" "D:/emacs-23.3")
          ;;set the default file path
          (setq default-directory "~/")

          最后在D:/emacs-23.3下建立文件夾ConFile,把插件(默認(rèn)插件在lisp文件夾里)都扔進(jìn)去,
          比如說(shuō)display-line-number.el
          在.emacs中寫(xiě)入下面的代碼。

          ;;顯示行號(hào)
          (load-file "~/ConFile/display-line-number.el")
          (require 'display-line-number)
          (global-display-line-number-mode t)

          Emacs23可以不用插件顯示行號(hào)
          在配置.emacs文件中加上
          (global-linum-mode t)
          或者m-x  global-linum-mode回車(chē)(m-x就是Alt+x)
          就可以顯示行號(hào),而且在用了tabbar插件的情況下,這種方式不會(huì)出現(xiàn)差一行的錯(cuò)誤.

          (setq case-fold-search nil);;查找的時(shí)候就強(qiáng)制匹配大小寫(xiě)t,nil
          (setq case-replace  nil);;強(qiáng)制大小寫(xiě)自動(dòng)替換


          下面是我從網(wǎng)上找的 Emacs基本配置稍加整理,
          我的.emacs文件祥細(xì)代碼(網(wǎng)絡(luò)收藏整理的):

          ;;'(load-file "D:\emacs-23.3\.emacs");;放在C:\~~~\.emacs文件里第一行且單獨(dú)一行
          ;;'(global-linum-mode t)
          ;;改變默認(rèn)路徑
          (setenv "HOME" "D:/emacs-23.3")
          (setenv "PATH" "D:/emacs-23.3")

          ;============================ 語(yǔ)言環(huán)境字符集設(shè)置 =================================
          ;;這一部份主要用在linux 環(huán)境下,windows下沒(méi)什么作用
          ;; (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亂碼,好像沒(méi)作用
          ;=========================== 語(yǔ)言環(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é)束 ==============================


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


          ;;解決中英文混排不能正確fill的問(wèn)題,好像沒(méi)什么用
          ;; (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è)置另外一些顏色:語(yǔ)法高亮顯示的背景和主題,區(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í)間的變化頻率,單位多少來(lái)著?

          ;;;;;;;;;;;;;;;;;;;;;;;;;;; 顯示時(shí)間設(shè)置結(jié)束 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


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

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

          ;;ido的配置,這個(gè)可以使你在用C-x C-f打開(kāi)文件的時(shí)候在后面有提示;
          ;;這里是直接打開(kāi)了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í)的畫(huà)面

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

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

          (setq global-linum-mode t);行號(hào)
          (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)糟。我覺(jué)得先用光標(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 字符來(lái)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)
          ;;防止頁(yè)面滾動(dòng)時(shí)跳動(dòng), scroll-margin 3 可以在靠近屏幕邊沿3行時(shí)就開(kāi)始滾動(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) ;;打開(kāi)括號(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)讓開(kāi),別擋住視線。

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

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

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

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

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

          (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í),必然碰到過(guò)要輸入密碼的情況,此時(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 version-control 'never);;不需要而不是想換個(gè)地方保存?zhèn)浞菸募?br />(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)
          ;;把這些缺省禁用的功能打開(kāi)。

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

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

          (setq user-full-name "XXXXXX")
          (setq user-mail-address "XXXXXX@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開(kāi)頭,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)
          ;;目的是開(kāi)一個(gè)shell的小buffer,用于更方便地測(cè)試程序(也就是運(yùn)行程序了),我經(jīng)常會(huì)用到。
          ;;f8就是另開(kāi)一個(gè)buffer然后打開(kāi)shell,C-f8則是在當(dāng)前的buffer打開(kāi)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),
          ;; + 展開(kāi)目錄或文件進(jìn)行瀏覽,- 收縮,RET 訪問(wèn)目錄或文件,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為撤銷(xiāo)

          (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-") 'set-mark-command)
          ;;這樣 我就不用按 C-@ 來(lái) 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) ; 打開(kāi)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 "國(guó)慶節(jié)")
          (holiday-fixed 12 25 "圣誕節(jié)")))

          ;;Calendar模式支持各種方式來(lái)更改當(dāng)前日期
          ;;(這里的“前”是指還沒(méi)有到來(lái)的那一天,“后”是指已經(jīng)過(guò)去的日子)
          ;; 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 在一頁(yè)上生成這個(gè)周的日歷
          ;; t w 2 在兩頁(yè)上生成這個(gè)周的日歷
          ;; t w 3 生成一個(gè)ISO-SYTLE風(fēng)格的當(dāng)前周日歷
          ;; t w 4 生成一個(gè)從周一開(kāi)始的當(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í)間(是大寫(xiě)的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 顯示所有事件,包括過(guò)期的,未到期的等等

          ;; 創(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 來(lái)初始的。所以要添加 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)更新信息, 更新那些信息,
          ;也是可以完全自己配置. 包括文件名稱(chē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 最后選擇過(guò)的編輯窗口
          ;; C-c . g 1 編輯窗口1
          ;; C-c . g n 編輯窗口n
          ;; C-c . l c 選擇版面
          ;; C-c . l r 重畫(huà)版面
          ;; C-c . l t 拴牢版面(鎖定版面)
          ;; C-c . l w 拴牢可見(jiàn)的ecb窗口
          ;; C-c . \ 拴牢編繹窗口

          ;; 其中l(wèi)為小寫(xiě)字母(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 "XXXXXXX" ;; 用戶名
          ;; :port "110"
          :password "XXXXXX"))) ;; 密碼
          (setq gnus-secondary-select-methods '((nnfolder "")))

          (setq user-full-name "XXXXXXXX") ;; 外發(fā)的郵件采用這個(gè)名字
          (setq user-mail-address "XXXXXX@163.com") ;;外發(fā)的郵件采用這個(gè)地址
          (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 默認(rèn)的保質(zhì)期是7天,如果你覺(jué)得時(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)建目錄來(lái)分層管理

          (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之類(lèi)的.

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

          ;;把C++語(yǔ)言風(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è)代碼塊縮起來(lái),需要的時(shí)候再展開(kāi)
          ;; 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 ;別的可見(jiàn)的窗口里尋找補(bǔ)全
          try-expand-dabbrev-all-buffers ;所有打開(kāi)的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ù)來(lái)補(bǔ)全。

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


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

          ;;========================== 方便編程操作設(shè)置結(jié)束====================================
          posted @ 2011-09-14 10:43 longsooooon 閱讀(8275) | 評(píng)論 (0)編輯 收藏

          導(dǎo)航

          <2011年9月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          統(tǒng)計(jì)

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 修武县| 绵竹市| 保亭| 舞钢市| 衡阳市| 榆林市| 鄂州市| 平安县| 额济纳旗| 罗源县| 滨州市| 苍梧县| 荣昌县| 西林县| 南溪县| 普宁市| 宁陵县| 广昌县| 五寨县| 云林县| 美姑县| 安达市| 焉耆| 宣城市| 通州市| 云林县| 偃师市| 游戏| 邹平县| 遵义市| 合阳县| 锡林浩特市| 南乐县| 杂多县| 武义县| 新邵县| 麻城市| 诏安县| 谷城县| 来安县| 莲花县|