国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Home Backend Development PHP Tutorial Emacs 配置文件,包括自動(dòng)提示,yasnippet跟PHP-mod和cscope等

Emacs 配置文件,包括自動(dòng)提示,yasnippet跟PHP-mod和cscope等

Jun 13, 2016 pm 12:10 PM
global mode nbsp set

Emacs 配置文件,包括自動(dòng)提示,yasnippet和PHP-mod和cscope等
原文地址:http://outofmemory.cn/code-snippet/3442/Emacs-configuration-file-contain-zidong-tishi-yasnippet-PHP-mod-cscope-kind




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Filename:????? .emacs el lisp文件
;;
;; Copyright (C) 2011
;; Created at:? Aug 12 15:56:07 2011
;; Author : YuChao from SINA
;; E-Mail : [email?protected]
;; Description:?? 將此文件重命名為".emacs",并在用戶HOME目錄即可。
;; 參考了水木清華王根的各種配置,還有Emacs中文網(wǎng)的資料
;; 特此感謝EMACS中文網(wǎng):http://emacser.com/
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;**********************??? basic setting?? *********************

;;Load_path
(add-to-list 'load-path' "~/.emacs.d/plugins")

;;todo_path
(setq todo-file-do "~/emacs/todo/do")
(setq todo-file-done "~/emacs/todo/done")
(setq todo-file-top "~/emacs/todo/top")

;;Personal information
(setq user-full-name "Yu Chao")
(setq user-mail-address "[email?protected]")

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

;;======================??? color setting?????? =====================
;; 指針顏色設(shè)置為白色
;;(set-cursor-color "white")
;; 鼠標(biāo)顏色設(shè)置為白色
;;(set-mouse-color "white")
;; 設(shè)置背景顏色和字體顏色
(set-foreground-color "white")
(set-background-color "darkblue")
;; 設(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è)置日歷的一些顏色
(setq calendar-load-hook
'(lambda ()
(set-face-foreground 'diary-face "skyblue")
(set-face-background 'holiday-face "slate blue")
(set-face-foreground 'holiday-face "white")))

;;----------------------??? END color setting?? ---------------------

;;Font
(set-default-font "13")

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

;;設(shè)置中文語言環(huán)境
;;(set-language-environment 'Chinese-GB)

;;寫文件的編碼方式
;;(set-buffer-file-coding-system 'gb2312)
(set-buffer-file-coding-system 'utf-8)

;;新建文件的編碼方式
;;(setq default-buffer-file-coding-system 'gb2312)
(setq default-buffer-file-coding-system 'utf-8)

;;終端方式的編碼方式
(set-terminal-coding-system 'utf-8)

;;鍵盤輸入的編碼方式
;;(set-keyboard-coding-system 'gb2312)

;;讀取或?qū)懭胛募木幋a方式
(setq file-name-coding-system 'utf-8)

;;打開就啟用 text 模式
(setq default-major-mode 'text-mode)

;;禁用啟動(dòng)信息
;;(setq inhibit-startup-message t)

;;語法高亮
(global-font-lock-mode t)
(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)

;;打開圖片顯示功能
;;(auto-image-file-mode t)

;;以 y/n 替代 yes/no
(fset 'yes-or-no-p 'y-or-n-p)

;;顯示行列號(hào)
(column-number-mode t)
;;顯示列號(hào)
(setq mouse-yank-at-point t)

;;顯示括號(hào)匹配
(show-paren-mode t)

;;隱藏工具欄
;;(tool-bar-mode nil)

;; 隱藏滾動(dòng)條。實(shí)際上再本機(jī)上的emacs-2.23是沒有這個(gè)模式的。
;;(scroll-bar-mode nil)
;;去掉工具欄
;;(tool-bar-mode nil)
;;去掉菜單欄,我將F10綁定為顯示菜單欄,萬一什么東西忘了,需要菜單欄了可以摁F10調(diào)出,再摁F10就去掉菜單
(menu-bar-mode nil)

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

;;不要在鼠標(biāo)光標(biāo)出插入
;;(setq mouse-yank-at-point t)

;;高亮顯示選中的區(qū)域
(transient-mark-mode t)

;;支持emacs和外部程序的拷貝粘貼
(setq x-select-enable-clipboard t)

;;在標(biāo)題欄提示當(dāng)前位置
(setq frame-title-format "Admire@%b")

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

;;顯示80列就換行
(setq default-fill-column 80)

;;禁止終端響鈴
(setq visiable-bell t)

;;設(shè)置tab為4個(gè)空格的寬度
;;(setq default-tab-width 4)

;;打開缺省禁用的功能
(setq version-control t)
(setq kept-new-versions 3)
(setq delete-old-versions t)
(setq kept-old-versions 2)
(setq dired-kept-versions 1)

;;設(shè)置備份時(shí)的版本控制,這樣更加安全。
(mapcar
? (function (lambda (setting)
???????????????????? (setq auto-mode-alist
?????????????????????????????? (cons setting auto-mode-alist))))
?? '(("\\.xml$".? sgml-mode)
???? ("\\\.bash" . sh-mode)
???? ("\\.rdf$".? sgml-mode)
???? ("\\.session" . emacs-lisp-mode)
???? ("\\.l$" . c-mode)
???? ("\\.css$" . css-mode)
???? ("\\.cfm$" . html-mode)
???? ("gnus" . emacs-lisp-mode)
???? ("\\.idl$" . idl-mode)))

;;讓 dired 可以遞歸的拷貝和刪除目錄
(setq dired-recursive-copies 'top)
(setq dired-recursive-deletes 'top)

;;時(shí)間戳設(shè)置(time-stamp),設(shè)定文檔上次保存的信息
;;只要里在你得文檔里有Time-stamp:的設(shè)置,就會(huì)自動(dòng)保存時(shí)間戳
;;啟用time-stamp
(setq time-stamp-active t)
;;去掉time-stamp的警告?
(setq time-stamp-warn-inactive t)
;;設(shè)置time-stamp的格式,我如下的格式所得的一個(gè)例子:
(setq time-stamp-format "%:u %02m/%02d/%04y %02H02M02S")
;;將修改時(shí)間戳添加到保存文件的動(dòng)作里。
(add-hook 'write-file-hooks 'time-stamp)

;;在文檔最后自動(dòng)插入空白一行,好像某些系統(tǒng)配置文件是需要這樣的
(setq require-final-newline t)
(setq track-eol t)

;;使用C-k刪掉指針到改行末的所有東西
(setq-default kill-whole-line t)

;;設(shè)定刪除保存記錄為200,可以方便以后無限恢復(fù)
(setq kill-ring-max 200)

;;增大使用查找函數(shù)和變量的尋找范圍
(setq apropos-do-all t)

;;是用aspell程序作為Emacs的拼寫檢查成學(xué)
(setq-default ispell-program-name "aspell")

;;使用narrow功能時(shí)的一個(gè)設(shè)置
(put 'narrow-to-region 'disabled nil)

;;啟動(dòng)Emacs自動(dòng)設(shè)置為兩個(gè)窗口(上下各一個(gè))
;;(split-window-vertically)

;;功能是將當(dāng)前行設(shè)為本頁第一行,同終端下的clear命令有點(diǎn)相似
(defun line-to-top-of-window ()
"Move the line point is on to top of window."
(interactive)
(recenter 0))

;;代碼折疊
(load-library "hideshow")
(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)

;;臨時(shí)記號(hào)
;;有時(shí)你需要跳到另一個(gè)文件進(jìn)行一些操作,然后很快的跳回來。你當(dāng)然可以 使用 bookmark或者寄存器。
;;但是這些實(shí)在是太慢了。你多想擁有vi那樣的 ma, mb, 'a, 'b 的操作?,F(xiàn)在你可以用幾行 elisp 達(dá)到類似的目的
(global-set-key [(control ?\.)] 'ska-point-to-register)
(global-set-key [(control ?\,)] 'ska-jump-to-register)
(defun ska-point-to-register()
? "Store cursorposition _fast_ in a register.
Use ska-jump-to-register to jump back to the stored
position."
? (interactive)
? (setq zmacs-region-stays t)
? (point-to-registerEmacs 配置文件,包括自動(dòng)提示,yasnippet跟PHP-mod和cscope等)

(defun ska-jump-to-register()
? "Switches between current cursorposition and position
that was stored with ska-point-to-register."
? (interactive)
? (setq zmacs-region-stays t)
? (let ((tmp (point-marker)))
??????? (jump-to-registerEmacs 配置文件,包括自動(dòng)提示,yasnippet跟PHP-mod和cscope等
??????? (set-register 8 tmp)))

;; go-to-char 非常感謝 Oliver Scholz 提供這個(gè)函數(shù)給 我。
;;這個(gè)函數(shù)是一個(gè) vi 的 "f" 命令的替代品。vi的用戶知道,vi有 一個(gè)特別好的命令 "f"。當(dāng)你按 "fx", x 是任意一個(gè)字符時(shí)
;;光標(biāo) 就會(huì)移動(dòng)到下一個(gè) "x" 處。這之后只要按 ";"(分號(hào)),光標(biāo)就到再 下一個(gè) "x"。
;;舉個(gè)例子說明這個(gè)命令的用途。比如我們有這樣一行字,光標(biāo)在 行首。
;;(setq unread-command-events (list last-input-event)))
;;???????????????????????????????????????????? ^^^^^
;;我們希望迅速的到達(dá)最后那個(gè) event 處,于是我在 vi 里按 "fe"。結(jié)果光標(biāo)到了 "setq" 的那個(gè) e 上面,這時(shí)候我接著按 ";",
;;不一會(huì)兒就到了我們想要的地方。很方便吧?可能起初不覺得,后來 你發(fā)現(xiàn)這真的非常好!

;;我一直覺得 Emacs 沒有這樣一個(gè)方便的命令,但是 Oliver 給了 我一個(gè)完美的答案:
;;有了這段代碼之后,當(dāng)你按 C-c a x (x 是任意一個(gè)字符) 時(shí),光 標(biāo)就會(huì)到下一個(gè) x 處。再次按 x,光標(biāo)就到下一個(gè) x。比如 C-c a w w w w ..., C-c a b b b b b b ...
;;我覺得這個(gè)方式比 vi 的 "f" 要快。
(defun wy-go-to-char (n char)
? "Move forward to Nth occurence of CHAR.
Typing `wy-go-to-char-key' again will move forwad to the next Nth
occurence of CHAR."
? (interactive "p\ncGo to char: ")
? (search-forward (string char) nil nil n)
? (while (char-equal (read-char)
???????????? char)
??? (search-forward (string char) nil nil n))
? (setq unread-command-events (list last-input-event)))
(define-key global-map (kbd "C-c a") 'wy-go-to-char)

;;======================??????? Chinese setting???? =====================
;;(setq gnus-default-charset 'cn-gb-2312
;;gnus-group-name-charset-group-alist '((".*" . gb2312))
;;gnus-summary-show-article-charset-alist '((1 . cn-gb-2312) (2 . big5) (3 . chinese-gbk) (4 . utf-8))
;;gnus-newsgroup-ignored-charsets '(unknown-8bit x-unknown iso-8859-1)
;;gnus-group-posting-charset-alist '((".*" gb2312 (gb2312))))
;;(define-coding-system-alias 'gb18030 'gb2312)

;;------------設(shè)置(utf-8)模式------------
(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??,o??÷[M`J3

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

;;----------------------??????? End Chinese setting???? ---------------------

;;窗口設(shè)置
(gnus-add-configuration '(article (vertical 1.0 (summary .35 point) (article1.0))))

;;Group Buffer設(shè)置
;;自動(dòng)進(jìn)入Topic-mode
(add-hook 'gnus-group-mode-hook 'gnus-topic-mode)

;;Sumarry Buffer設(shè)置
(setq gnus-summary-line-format ":%U%R %B %s %-60=|%4L |%-20,20f |%&user-date; \n")

;;Article Buffer設(shè)置
;;設(shè)定要顯示的頭消息格式
(setq gnus-visible-headers
"^\\(^To:\\|^CC:\\|^From:\\|^Subject:\\|^Date:\\|^Followup-To:
\\|^X-Newsreader:\\|^User-Agent:\\|^X-Mailer:
\\|Line:\\|Lines:\\|Content-Type:\\|NNTP-Posting-Host\\)")

;; session.el
;;(require 'session)
;;? (add-hook 'after-init-hook 'session-initialize)

;;自動(dòng)斷行,每行80個(gè)字符
(add-hook 'message-mode-hook (lambda ()
(setq fill-column 80)
(turn-on-auto-fill)))

;;======================??? 字體解碼優(yōu)先順序???????? =====================;
;;從王垠那拷過來的,不用怎么再改吧。
;;(setq font-encoding-alist
;;(append '(("MuleTibetan-0" (tibetan . 0))
;;("GB2312" (chinese-gb2312 . 0))
;;("JISX0208" (japanese-jisx0208 . 0))
;;("JISX0212" (japanese-jisx0212 . 0))
;;("VISCII" (vietnamese-viscii-lower . 0))
;;("KSC5601" (korean-ksc5601 . 0))
;;("MuleArabic-0" (arabic-digit . 0))
;;("MuleArabic-1" (arabic-1-column . 0))
;;("MuleArabic-2" (arabic-2-column . 0))) font-encoding-alist))
;;----------------------??? 字體解碼優(yōu)先順序??????? ---------------------

;;鼠標(biāo)滾輪,默認(rèn)的滾動(dòng)太快,這里改為3行
(defun up-slightly () (interactive) (scroll-up 3))
(defun down-slightly () (interactive) (scroll-down 3))
(global-set-key [mouse-4] 'down-slightly)
(global-set-key [mouse-5] 'up-slightly)

;;約會(huì)提醒
(setq appt-issue-message t)

;;**********************??????? 全局按鍵設(shè)定????? *********************
;;設(shè)置[f1]為goto-line
;;(global-set-key [f1] 'info)
(global-set-key [f1] 'goto-line)
(global-set-key [f2] 'eshell)
;;(global-set-key [f3] 'shell)

(global-set-key [f4] 'kill-this-buffer)
;;[f11] define to maximise present window
;;習(xí)慣設(shè)置,打開/關(guān)閉菜單
(global-set-key [f12] 'menu-bar-mode)

;;移動(dòng)光標(biāo)設(shè)置
(global-set-key [home] 'beginning-of-buffer)
(global-set-key [end]? 'end-of-buffer)

;;切換buffer的設(shè)置
(global-set-key [(control o)] 'other-window)
(global-set-key [(control tab)] 'tabbar-forward)

;;**********************??????? 常用編程配置????? *********************
;; 按下Alt+/,就會(huì)彈出菜單讓你自動(dòng)補(bǔ)全
;;(define-key c-mode-base-map [(meta ?/)] 'semantic-ia-complete-symbol-menu)

;;熱鍵設(shè)置
(global-set-key [f5] 'complile)
??? (setq-default compile-command "make")
(global-set-key [f6] 'speedbar)
(global-set-key [f7] 'gdb)
(global-set-key [f8] 'previous-error)
(global-set-key [f9] 'next-error)
;;啟動(dòng)窗口gdb
(global-set-key [f10] 'gdb-many-windows)

;;(global-set-key [f9] 'delete-window);F9 關(guān)閉d當(dāng)前窗口
;;(global-set-key [f8] 'other-window);F8窗口間跳轉(zhuǎn)
;;(global-set-key [(f2)] 'ansi-term);F2 切換到shell模式
;;(global-set-key [f3] 'split-window-vertically);F3分割窗口
;;(global-set-key [f12] 'my-fullscreen);F12 全屏
;;(global-set-key [(f4)] 'compile);編譯
;;(global-set-key [f5] 'gdb);啟動(dòng)gdb
;;(global-set-key [(f6)] 'gdb-many-windows);啟動(dòng)窗口gdb
;;(global-set-key [f1] 'goto-line);設(shè)置M-g為goto-line
;;(global-set-key [f7] 'other-frame);跳到其它窗格
;;(global-set-key [(f3)] 'speedbar);打開speedbar

;;###########?? CC-mode配置? http://cc-mode.sourceforge.net/? ################
(require 'cc-mode)
(c-set-offset 'inline-open 0)
(c-set-offset 'friend '-)
(c-set-offset 'substatement-open 0)
:;(setq indent-tabs-mode nil)
(setq c-basic-offset 4 )
(setq default-tab-width 4)
;;(setq tab-stop-list())
;;(loop for x downfrom 40 to 1 do
?? ;; (setq tab-stop-list (cons(* x 4) tab-stop-list)))

;;默認(rèn)Linux內(nèi)核編程風(fēng)格,取自Linux內(nèi)核說明文檔
(setq auto-mode-alist (cons '("/usr/src/linux.*/.*\\.[ch]$" . linux-c-mode)
?? auto-mode-alist))

(defun linux-c-mode ()
? "C mode with adjusted defaults for use with the Linux kernel."
?? (interactive)
?? (c-mode)
?? (c-set-style "K&R")
?? (setq tab-width 4) ;;默認(rèn)風(fēng)格是8個(gè)縮進(jìn)
?? (setq indent-tabs-mode t)
?? (setq c-basic-offset 4))? ;;默認(rèn)風(fēng)格是8個(gè)縮進(jìn)

;;c-mode或cc-mode下縮進(jìn)只有4格
(add-hook 'c-mode-hook
????????? '(lambda ()
???????????? (c-set-style "Stroustrup")))

;;****************************************************************
;;C/C++語言編輯策略
;;有些問題
;;(defun my-c-mode-common-hook()
;;(define-key c-mode-base-map [(f7)] 'compile)
;;(setq tab-width 4 indent-tabs-mode nil)
;; hungry-delete and auto-newline
;;(c-toggle-auto-hungry-state 1)

;;C++語言編輯策略
;;(defun my-c++-mode-hook()
??? ;;(setq c-basic-offset 4 )
?? ;; (setq tab-width 4 indent-tabs-mode nil)
?? ;; (c-set-style "stroustrup")
??? ;;(define-key c++-mode-map [f3] 'replace-regexp)
;;)

;;_____________C______________
;;C預(yù)處理設(shè)置
;;(setq c-macro-shrink-window-flag t)
;;(setq c-macro-preprocessor "c")
;;(setq c-macro-cppflags " ")
;;(setq c-macro-prompt-flag t)
;;(setq abbrev-mode t)
;;(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)

;;___________CPP______________
;;CPP預(yù)處理設(shè)置
;;(setq c-macro-shrink-window-flag t)
;;(setq c-macro-preprocessor "cpp")
;;(setq c-macro-cppflags " ")
;;(setq c-macro-prompt-flag t)
;;(setq abbrev-mode t)
;;(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)

;;下面這句是自動(dòng)換行
;;(c-toggle-auto-hungry-state 1)
;;(c-set-style "stroustrup")
;;(add-hook 'c-mode-common-hook 'program-mode)
;;(add-hook 'c++-mode-common-hook 'program-mode)

;;======================??????????? 自動(dòng)補(bǔ)全功能??????? =====================
;;自動(dòng)補(bǔ)全功能,這事從王垠的網(wǎng)站直接Copy過來的,引用一些他對(duì)此的說明
;;設(shè)置以下 hippie-expand 的補(bǔ)全方式。它是一個(gè)優(yōu)先列表, hippie-expand 會(huì)優(yōu)先使用表最前面
;;的函數(shù)來補(bǔ)全這是說,首先使用當(dāng)前的buffer補(bǔ)全,如果找不到,就到別的可見的窗口里尋找,如
;;還找不到,那么到所有打開的buffer去找,如果還……那么到kill-ring里,到文件名,到簡稱列表
;;里,到list,當(dāng)前使用的匹配方式會(huì)在 echo 區(qū)域顯示。
;;特別有意思的是 try-expand-line,它可以幫你補(bǔ)全整整一行文字。我很多時(shí)后有兩行文字大致相
;;同,只有幾個(gè)字不一樣,但是我懶得去拷貝粘貼以下。那么我就輸入這行文字的前面幾個(gè)字。然后
;;多按幾下 M-/ 就能得到那一行。
(global-set-key [(meta ?/)] 'hippie-expand)
(setq hippie-expand-try-functions-list
'(try-expand-line
try-expand-line-all-buffers
try-expand-list
try-expand-list-all-buffers
try-expand-dabbrev
try-expand-dabbrev-visible
try-expand-dabbrev-all-buffers
try-expand-dabbrev-from-kill
try-complete-file-name
try-complete-file-name-partially
try-complete-lisp-symbol
try-complete-lisp-symbol-partially
try-expand-whole-kill))

;;hippie的自動(dòng)補(bǔ)齊策略,優(yōu)先調(diào)用了senator的分析結(jié)果:
(autoload 'senator-try-expand-semantic "senator")
;;----------------------??????????? End 自動(dòng)補(bǔ)全??????? ---------------------

;;======================??????? 常用編程插件????????? =====================

;;**********************??????????? auto-header???????? *********************

(add-to-list 'load-path "~/.emacs.d/plugins/")
;;(require 'auto-header)
;;加載auto-header.el文件,自動(dòng)添加文件頭
;;(require 'auto-header)
;; 設(shè)置文件頭中的姓名
(setq header-full-name "Yu Chao")
;; 設(shè)置郵箱
(setq header-email-address "[email?protected]")

;; 設(shè)置每次保存時(shí)要更新的項(xiàng)目
(setq header-update-on-save
??? '(? filename
??????? modified
??????? counter
??????? copyright))
;; 設(shè)置文件頭的顯示格式
(setq header-field-list
'(? filename? ;文件名
??? blank??? ;空行,下同
??? ;;copyright ;;版權(quán)
??? version
??? author? ;作者
??? created?? ;創(chuàng)建人
??? blank
??? description?? ;描述
??? ;;blank
??? ;;modified_by ;更改者
?? ;; blank
??? ;;status? ;狀態(tài),是否發(fā)布
??? ;;更新
??? ;;blank
? ))
;;----------------------??????? END auto-header???????? ---------------------

;;======================??????????? Load cedet????????? =====================
;; See cedet/common/cedet.info for configuration details.
;;(load-file "~/.emacs.d/plugins/cedet-1.0pre7/common/cedet.el")

;; Enable EDE (Project Management) features
;;(global-ede-mode 1)

;; Enable EDE for a pre-existing C++ project
;; (ede-cpp-root-project "NAME" :file "~/myproject/Makefile")

;; Enabling Semantic (code-parsing, smart completion) features
;; Select one of the following:

;; * This enables the database and idle reparse engines
;;(semantic-load-enable-minimum-features)

;; * This enables some tools useful for coding, such as summary mode
;;?? imenu support, and the semantic navigator
;;(semantic-load-enable-code-helpers)

;; * This enables even more coding tools such as intellisense mode
;;?? decoration mode, and stickyfunc mode (plus regular code helpers)
;; (semantic-load-enable-gaudy-code-helpers)

;; * This enables the use of Exuberent ctags if you have it installed.
;;?? If you use C++ templates or boost, you should NOT enable it.
;; (semantic-load-enable-all-exuberent-ctags-support)
;;?? Or, use one of these two types of support.
;;?? Add support for new languges only via ctags.
;; (semantic-load-enable-primary-exuberent-ctags-support)
;;?? Add support for using ctags as a backup parser.
;; (semantic-load-enable-secondary-exuberent-ctags-support)

;; Enable SRecode (Template management) minor-mode.
;; (global-srecode-minor-mode 1)
;;----------------------??????????? END cedet?????????????? ---------------------

;;======================??????????? Load ecb??????????????? =====================
(add-to-list 'load-path "~/.emacs.d/plugins/ecb")
(require 'ecb)
;;(require 'ecb-autoloads)
;;打開emacs,然后M-x ecb-activate即可打開ecb。
;;----------------------??????????? END ecb???????????? ---------------------

;;======================??????????? Load cscope???????????? =====================
(add-to-list 'load-path "~/emacs.d/plugins/cscope-15.7a/contrib/xcscope/")
;;(require 'xcscope)
;;如果工程十分龐大,即使是判斷文件更新與否也很費(fèi)時(shí),可以告訴 Emacs 別自 動(dòng)更新 cscope.out:
;;(setq cscope-do-not-update-database t)
;;先M-x !,然后cscope -b,之后就可以在源代碼中進(jìn)行跳轉(zhuǎn)了。命令見cscope菜單
;;這里有篇講怎么在emacs下安裝和使用cscope的:
;;http://ann77.stu.cdut.edu.cn/EmacsCscope.html
;;----------------------??????????? END cscop?????????????? ---------------------

;;======================??????????? Load color-theme??????????? =====================
;;配色方案
;;(load-file "~/.emacs.d/plugins/color-theme.el")
;;(require 'color-theme)
;;(add-hook 'c-mode-common-hook 'color-theme-taylor)
;;(add-hook 'c++-mode-common-hook 'color-theme-taylor)
;;----------------------??????????? END color-theme???????? ---------------------

;;======================??????????? `Load gdb-many-window?????????? =====================
;;gdb-many-window
;;這個(gè)功能插件可以使emacs的調(diào)試界面像VC一樣,有watch, stacktrace等窗口,真正實(shí)現(xiàn)圖形化gdb.
;;在emacs中編譯好程序,然后M-x gdb,連按兩次ret,多窗口gdb就出來了
;;http://www.inet.net.nz/~nickrob/multi-gud.el
;;http://www.inet.net.nz/~nickrob/multi-gdb-ui.el

(add-to-list 'load-path"~/.emacs.d/plugins")
(setq gdb-many-windows t)
(load-library "multi-gud.el")
(load-library "multi-gdb-ui.el")
;;----------------------??????????????? END gdb-many-window???????? ---------------------

;;======================??????????? Load linum????????????? =====================
;;調(diào)用linum.el(line number)來顯示行號(hào):
;;(add-to-list 'load-path"~/.emacs.d/plugins")
(require 'linum)
(global-linum-mode 1)
;;----------------------??????????? END linum?????????????? ---------------------

;;======================??????????? Load Doxymacs?????????????? =====================
;;調(diào)用linum.el(line number)來顯示行號(hào):
;;(add-to-list 'load-path"~/.emacs.d/plugins/")
;;(require 'doxymacs)

;;(add-hook 'c-mode-common-hook 'doxymacs-mode)

;;(defun my-doxymacs-font-lock-hook ()
;;(if (or (eq major-mode 'c-mode) (eq major-mode 'c++-mode))
??? ;;? (doxymacs-font-lock)))
? ;;(add-hook 'font-lock-mode-hook 'my-doxymacs-font-lock-hook)

;;? This will add the Doxygen keywords to c-mode and c++-mode only.
;;- Default key bindings are:
;;? - C-c d ? will look up documentation for the symbol under the point.
;;? - C-c d r will rescan your Doxygen tags file.
;;? - C-c d f will insert a Doxygen comment for the next function.
;;? - C-c d i will insert a Doxygen comment for the current file.
;;? - C-c d ; will insert a Doxygen comment for the current member.
;;? - C-c d m will insert a blank multi-line Doxygen comment.
;;? - C-c d s will insert a blank single-line Doxygen comment.
;; - C-c d @ will insert grouping comments around the current region.

;;----------------------??????????? END Doxymacs??????????????? ---------------------

;;======================??????????? Load yasnippet????????????? =====================
;;自動(dòng)補(bǔ)全代碼插件
(add-to-list 'load-path
????????????????? "~/.emacs.d/plugins/yasnippet-0.6.1c")
??? (require 'yasnippet) ;; not yasnippet-bundle
??? (yas/initialize)
??? (yas/load-directory "~/.emacs.d/plugins/yasnippet-0.6.1c/snippets")
;;----------------------??????????? END yasnippet?????????? ---------------------

;;================================PHP-Mode===================================

;; PHP 語法支持,需要MMM模塊的添加才支持混合代碼
(add-to-list 'load-path"~/.emacs.d/plugins/php")
;;php-mode

(require 'php-mode)

;;根據(jù)擴(kuò)展名綁定

(add-to-list 'auto-mode-alist '("\\.php[34]?\\'\\|\\.phtml\\'" . php-mode))

(add-to-list 'auto-mode-alist '("\\.module\\'" . php-mode))

(add-to-list 'auto-mode-alist '("\\.inc\\'" . php-mode))

(require 'auto-complete)
(locate-library "auto-complete.el")
;;php 自動(dòng)提示設(shè)置

(add-hook 'php-mode-hook

(lambda ()

(require 'php-completion)

(php-completion-mode t)

(define-key php-mode-map (kbd "C-o") 'phpcmp-complete)))

(add-hook? 'php-mode-hook

(lambda ()

(when (require 'auto-complete nil t)

(make-variable-buffer-local 'ac-sources)

(add-to-list 'ac-sources 'ac-source-php-completion)

;; if you like patial match,

;; use `ac-source-php-completion-patial' instead of `ac-source-php-completion'.

(add-to-list 'ac-sources 'ac-source-php-completion-patial)

(auto-complete-mode t))))

;;====================================PHP自動(dòng)提示========================
(add-to-list 'load-path "~/.emacs.d/plugins/php/")
(require 'install-elisp)
(setq install-elisp-repository-directory "~/.emacs.d/plugins/php/")
;;設(shè)置使用install-elisp-from-emacswiki 后下載下來的文件路徑,我把它們放在一個(gè)文件夾里面

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undress AI Tool

Undress AI Tool

Undress images for free

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Solution: Your organization requires you to change your PIN Solution: Your organization requires you to change your PIN Oct 04, 2023 pm 05:45 PM

The message "Your organization has asked you to change your PIN" will appear on the login screen. This happens when the PIN expiration limit is reached on a computer using organization-based account settings, where they have control over personal devices. However, if you set up Windows using a personal account, the error message should ideally not appear. Although this is not always the case. Most users who encounter errors report using their personal accounts. Why does my organization ask me to change my PIN on Windows 11? It's possible that your account is associated with an organization, and your primary approach should be to verify this. Contacting your domain administrator can help! Additionally, misconfigured local policy settings or incorrect registry keys can cause errors. Right now

How to adjust window border settings on Windows 11: Change color and size How to adjust window border settings on Windows 11: Change color and size Sep 22, 2023 am 11:37 AM

Windows 11 brings fresh and elegant design to the forefront; the modern interface allows you to personalize and change the finest details, such as window borders. In this guide, we'll discuss step-by-step instructions to help you create an environment that reflects your style in the Windows operating system. How to change window border settings? Press + to open the Settings app. WindowsI go to Personalization and click Color Settings. Color Change Window Borders Settings Window 11" Width="643" Height="500" > Find the Show accent color on title bar and window borders option, and toggle the switch next to it. To display accent colors on the Start menu and taskbar To display the theme color on the Start menu and taskbar, turn on Show theme on the Start menu and taskbar

How to change title bar color on Windows 11? How to change title bar color on Windows 11? Sep 14, 2023 pm 03:33 PM

By default, the title bar color on Windows 11 depends on the dark/light theme you choose. However, you can change it to any color you want. In this guide, we'll discuss step-by-step instructions for three ways to change it and personalize your desktop experience to make it visually appealing. Is it possible to change the title bar color of active and inactive windows? Yes, you can change the title bar color of active windows using the Settings app, or you can change the title bar color of inactive windows using Registry Editor. To learn these steps, go to the next section. How to change title bar color in Windows 11? 1. Using the Settings app press + to open the settings window. WindowsI go to "Personalization" and then

How to enable or disable taskbar thumbnail previews on Windows 11 How to enable or disable taskbar thumbnail previews on Windows 11 Sep 15, 2023 pm 03:57 PM

Taskbar thumbnails can be fun, but they can also be distracting or annoying. Considering how often you hover over this area, you may have inadvertently closed important windows a few times. Another disadvantage is that it uses more system resources, so if you've been looking for a way to be more resource efficient, we'll show you how to disable it. However, if your hardware specs can handle it and you like the preview, you can enable it. How to enable taskbar thumbnail preview in Windows 11? 1. Using the Settings app tap the key and click Settings. Windows click System and select About. Click Advanced system settings. Navigate to the Advanced tab and select Settings under Performance. Select "Visual Effects"

OOBELANGUAGE Error Problems in Windows 11/10 Repair OOBELANGUAGE Error Problems in Windows 11/10 Repair Jul 16, 2023 pm 03:29 PM

Do you see "A problem occurred" along with the "OOBELANGUAGE" statement on the Windows Installer page? The installation of Windows sometimes stops due to such errors. OOBE means out-of-the-box experience. As the error message indicates, this is an issue related to OOBE language selection. There is nothing to worry about, you can solve this problem with nifty registry editing from the OOBE screen itself. Quick Fix – 1. Click the “Retry” button at the bottom of the OOBE app. This will continue the process without further hiccups. 2. Use the power button to force shut down the system. After the system restarts, OOBE should continue. 3. Disconnect the system from the Internet. Complete all aspects of OOBE in offline mode

10 Ways to Adjust Brightness on Windows 11 10 Ways to Adjust Brightness on Windows 11 Dec 18, 2023 pm 02:21 PM

Screen brightness is an integral part of using modern computing devices, especially when you look at the screen for long periods of time. It helps you reduce eye strain, improve legibility, and view content easily and efficiently. However, depending on your settings, it can sometimes be difficult to manage brightness, especially on Windows 11 with the new UI changes. If you're having trouble adjusting brightness, here are all the ways to manage brightness on Windows 11. How to Change Brightness on Windows 11 [10 Ways Explained] Single monitor users can use the following methods to adjust brightness on Windows 11. This includes desktop systems using a single monitor as well as laptops. let's start. Method 1: Use the Action Center The Action Center is accessible

Display scaling guide on Windows 11 Display scaling guide on Windows 11 Sep 19, 2023 pm 06:45 PM

We all have different preferences when it comes to display scaling on Windows 11. Some people like big icons, some like small icons. However, we all agree that having the right scaling is important. Poor font scaling or over-scaling of images can be a real productivity killer when working, so you need to know how to customize it to get the most out of your system's capabilities. Advantages of Custom Zoom: This is a useful feature for people who have difficulty reading text on the screen. It helps you see more on the screen at one time. You can create custom extension profiles that apply only to certain monitors and applications. Can help improve the performance of low-end hardware. It gives you more control over what's on your screen. How to use Windows 11

How to Fix Activation Error Code 0xc004f069 in Windows Server How to Fix Activation Error Code 0xc004f069 in Windows Server Jul 22, 2023 am 09:49 AM

The activation process on Windows sometimes takes a sudden turn to display an error message containing this error code 0xc004f069. Although the activation process is online, some older systems running Windows Server may experience this issue. Go through these initial checks, and if they don't help you activate your system, jump to the main solution to resolve the issue. Workaround – close the error message and activation window. Then restart the computer. Retry the Windows activation process from scratch again. Fix 1 – Activate from Terminal Activate Windows Server Edition system from cmd terminal. Stage – 1 Check Windows Server Version You have to check which type of W you are using

See all articles