Emacs 配置文件,包括自動提示,yasnippet跟PHP-mod和cscope等
Jun 13, 2016 pm 12:10 PM
Emacs 配置文件,包括自動提示,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è)置,在minibuffer上面的那個杠上(忘了叫什么來著)
(display-time-mode 1)
;;時間使用24小時制
(setq display-time-24hr-format t)
;;時間顯示包括日期和具體時間
(setq display-time-day-and-date t)
;;時間欄旁邊啟用郵件設(shè)置
(setq display-time-use-mail-icon t)
;;時間的變化頻率,單位多少來著?
(setq display-time-interval 10)
;;顯示時間,格式如下
(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")
;; 鼠標顏色設(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")
;;不要生成臨時文件
(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)
;;禁用啟動信息
;;(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)
;;顯示行列號
(column-number-mode t)
;;顯示列號
(setq mouse-yank-at-point t)
;;顯示括號匹配
(show-paren-mode t)
;;隱藏工具欄
;;(tool-bar-mode nil)
;; 隱藏滾動條。實際上再本機上的emacs-2.23是沒有這個模式的。
;;(scroll-bar-mode nil)
;;去掉工具欄
;;(tool-bar-mode nil)
;;去掉菜單欄,我將F10綁定為顯示菜單欄,萬一什么東西忘了,需要菜單欄了可以摁F10調(diào)出,再摁F10就去掉菜單
(menu-bar-mode nil)
;;光標靠近鼠標指針時,讓鼠標指針自動讓開
;;(mouse-avoidance-mode 'animate)
;;不要在鼠標光標出插入
;;(setq mouse-yank-at-point t)
;;高亮顯示選中的區(qū)域
(transient-mark-mode t)
;;支持emacs和外部程序的拷貝粘貼
(setq x-select-enable-clipboard t)
;;在標題欄提示當前位置
(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個空格的寬度
;;(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è)置備份時的版本控制,這樣更加安全。
(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è)置(time-stamp),設(shè)定文檔上次保存的信息
;;只要里在你得文檔里有Time-stamp:的設(shè)置,就會自動保存時間戳
;;啟用time-stamp
(setq time-stamp-active t)
;;去掉time-stamp的警告?
(setq time-stamp-warn-inactive t)
;;設(shè)置time-stamp的格式,我如下的格式所得的一個例子:
(setq time-stamp-format "%:u %02m/%02d/%04y %02H02M02S")
;;將修改時間戳添加到保存文件的動作里。
(add-hook 'write-file-hooks 'time-stamp)
;;在文檔最后自動插入空白一行,好像某些系統(tǒng)配置文件是需要這樣的
(setq require-final-newline t)
(setq track-eol t)
;;使用C-k刪掉指針到改行末的所有東西
(setq-default kill-whole-line t)
;;設(shè)定刪除保存記錄為200,可以方便以后無限恢復
(setq kill-ring-max 200)
;;增大使用查找函數(shù)和變量的尋找范圍
(setq apropos-do-all t)
;;是用aspell程序作為Emacs的拼寫檢查成學
(setq-default ispell-program-name "aspell")
;;使用narrow功能時的一個設(shè)置
(put 'narrow-to-region 'disabled nil)
;;啟動Emacs自動設(shè)置為兩個窗口(上下各一個)
;;(split-window-vertically)
;;功能是將當前行設(shè)為本頁第一行,同終端下的clear命令有點相似
(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)
;;臨時記號
;;有時你需要跳到另一個文件進行一些操作,然后很快的跳回來。你當然可以 使用 bookmark或者寄存器。
;;但是這些實在是太慢了。你多想擁有vi那樣的 ma, mb, 'a, 'b 的操作?,F(xiàn)在你可以用幾行 elisp 達到類似的目的
(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-register)
(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-register
??????? (set-register 8 tmp)))
;; go-to-char 非常感謝 Oliver Scholz 提供這個函數(shù)給 我。
;;這個函數(shù)是一個 vi 的 "f" 命令的替代品。vi的用戶知道,vi有 一個特別好的命令 "f"。當你按 "fx", x 是任意一個字符時
;;光標 就會移動到下一個 "x" 處。這之后只要按 ";"(分號),光標就到再 下一個 "x"。
;;舉個例子說明這個命令的用途。比如我們有這樣一行字,光標在 行首。
;;(setq unread-command-events (list last-input-event)))
;;???????????????????????????????????????????? ^^^^^
;;我們希望迅速的到達最后那個 event 處,于是我在 vi 里按 "fe"。結(jié)果光標到了 "setq" 的那個 e 上面,這時候我接著按 ";",
;;不一會兒就到了我們想要的地方。很方便吧?可能起初不覺得,后來 你發(fā)現(xiàn)這真的非常好!
;;我一直覺得 Emacs 沒有這樣一個方便的命令,但是 Oliver 給了 我一個完美的答案:
;;有了這段代碼之后,當你按 C-c a x (x 是任意一個字符) 時,光 標就會到下一個 x 處。再次按 x,光標就到下一個 x。比如 C-c a w w w w ..., C-c a b b b b b b ...
;;我覺得這個方式比 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 可以識別中文標點。不用在 fill 時在句號后插 入兩個空格。
(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è)置
;;自動進入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)
;;自動斷行,每行80個字符
(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)先順序??????? ---------------------
;;鼠標滾輪,默認的滾動太快,這里改為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)
;;約會提醒
(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
;;習慣設(shè)置,打開/關(guān)閉菜單
(global-set-key [f12] 'menu-bar-mode)
;;移動光標設(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+/,就會彈出菜單讓你自動補全
;;(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)
;;啟動窗口gdb
(global-set-key [f10] 'gdb-many-windows)
;;(global-set-key [f9] 'delete-window);F9 關(guān)閉d當前窗口
;;(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);啟動gdb
;;(global-set-key [(f6)] 'gdb-many-windows);啟動窗口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)))
;;默認Linux內(nèi)核編程風格,取自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) ;;默認風格是8個縮進
?? (setq indent-tabs-mode t)
?? (setq c-basic-offset 4))? ;;默認風格是8個縮進
;;c-mode或cc-mode下縮進只有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預處理設(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預處理設(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)
;;下面這句是自動換行
;;(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)
;;======================??????????? 自動補全功能??????? =====================
;;自動補全功能,這事從王垠的網(wǎng)站直接Copy過來的,引用一些他對此的說明
;;設(shè)置以下 hippie-expand 的補全方式。它是一個優(yōu)先列表, hippie-expand 會優(yōu)先使用表最前面
;;的函數(shù)來補全這是說,首先使用當前的buffer補全,如果找不到,就到別的可見的窗口里尋找,如
;;還找不到,那么到所有打開的buffer去找,如果還……那么到kill-ring里,到文件名,到簡稱列表
;;里,到list,當前使用的匹配方式會在 echo 區(qū)域顯示。
;;特別有意思的是 try-expand-line,它可以幫你補全整整一行文字。我很多時后有兩行文字大致相
;;同,只有幾個字不一樣,但是我懶得去拷貝粘貼以下。那么我就輸入這行文字的前面幾個字。然后
;;多按幾下 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的自動補齊策略,優(yōu)先調(diào)用了senator的分析結(jié)果:
(autoload 'senator-try-expand-semantic "senator")
;;----------------------??????????? End 自動補全??????? ---------------------
;;======================??????? 常用編程插件????????? =====================
;;**********************??????????? auto-header???????? *********************
(add-to-list 'load-path "~/.emacs.d/plugins/")
;;(require 'auto-header)
;;加載auto-header.el文件,自動添加文件頭
;;(require 'auto-header)
;; 設(shè)置文件頭中的姓名
(setq header-full-name "Yu Chao")
;; 設(shè)置郵箱
(setq header-email-address "[email?protected]")
;; 設(shè)置每次保存時要更新的項目
(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)
;;如果工程十分龐大,即使是判斷文件更新與否也很費時,可以告訴 Emacs 別自 動更新 cscope.out:
;;(setq cscope-do-not-update-database t)
;;先M-x !,然后cscope -b,之后就可以在源代碼中進行跳轉(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
;;這個功能插件可以使emacs的調(diào)試界面像VC一樣,有watch, stacktrace等窗口,真正實現(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)來顯示行號:
;;(add-to-list 'load-path"~/.emacs.d/plugins")
(require 'linum)
(global-linum-mode 1)
;;----------------------??????????? END linum?????????????? ---------------------
;;======================??????????? Load Doxymacs?????????????? =====================
;;調(diào)用linum.el(line number)來顯示行號:
;;(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????????????? =====================
;;自動補全代碼插件
(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ù)擴展名綁定
(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 自動提示設(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自動提示========================
(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 后下載下來的文件路徑,我把它們放在一個文件夾里面

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Mesej "Organisasi anda memerlukan anda menukar PIN anda" akan muncul pada skrin log masuk. Ini berlaku apabila had tamat tempoh PIN dicapai pada komputer menggunakan tetapan akaun berasaskan organisasi, di mana mereka mempunyai kawalan ke atas peranti peribadi. Walau bagaimanapun, jika anda menyediakan Windows menggunakan akaun peribadi, sebaiknya mesej ralat tidak akan muncul. Walaupun ini tidak selalu berlaku. Kebanyakan pengguna yang mengalami ralat melaporkan menggunakan akaun peribadi mereka. Mengapa organisasi saya meminta saya menukar PIN saya pada Windows 11? Ada kemungkinan akaun anda dikaitkan dengan organisasi dan pendekatan utama anda adalah untuk mengesahkan perkara ini. Menghubungi pentadbir domain anda boleh membantu! Selain itu, tetapan dasar tempatan yang salah konfigurasi atau kunci pendaftaran yang salah boleh menyebabkan ralat. Sekarang ni

Windows 11 membawa reka bentuk yang segar dan elegan ke hadapan antara muka moden membolehkan anda memperibadikan dan menukar butiran terbaik, seperti sempadan tingkap. Dalam panduan ini, kami akan membincangkan arahan langkah demi langkah untuk membantu anda mencipta persekitaran yang mencerminkan gaya anda dalam sistem pengendalian Windows. Bagaimana untuk menukar tetapan sempadan tetingkap? Tekan + untuk membuka apl Tetapan. WindowsSaya pergi ke Pemperibadian dan klik Tetapan Warna. Perubahan Warna Tetingkap Sempadan Tetapan Tetingkap 11" Lebar="643" Tinggi="500" > Cari pilihan Tunjukkan warna aksen pada bar tajuk dan sempadan tetingkap, dan togol suis di sebelahnya. Untuk memaparkan warna aksen pada menu Mula dan bar tugas Untuk memaparkan warna tema pada menu Mula dan bar tugas, hidupkan Tunjukkan tema pada menu Mula dan bar tugas

Secara lalai, warna bar tajuk pada Windows 11 bergantung pada tema gelap/terang yang anda pilih. Walau bagaimanapun, anda boleh menukarnya kepada mana-mana warna yang anda mahu. Dalam panduan ini, kami akan membincangkan arahan langkah demi langkah untuk tiga cara mengubahnya dan memperibadikan pengalaman desktop anda untuk menjadikannya menarik secara visual. Adakah mungkin untuk menukar warna bar tajuk tetingkap aktif dan tidak aktif? Ya, anda boleh menukar warna bar tajuk tetingkap aktif menggunakan apl Tetapan, atau anda boleh menukar warna bar tajuk tetingkap tidak aktif menggunakan Registry Editor. Untuk mempelajari langkah-langkah ini, pergi ke bahagian seterusnya. Bagaimana untuk menukar warna bar tajuk dalam Windows 11? 1. Tekan + untuk membuka tetingkap tetapan menggunakan apl Tetapan. WindowsSaya pergi ke "Peribadikan" dan kemudian

Lakaran kecil bar tugas boleh menjadi menyeronokkan, tetapi ia juga boleh mengganggu atau menjengkelkan. Memandangkan kekerapan anda menuding di atas kawasan ini, anda mungkin telah menutup tetingkap penting secara tidak sengaja beberapa kali. Kelemahan lain ialah ia menggunakan lebih banyak sumber sistem, jadi jika anda telah mencari cara untuk menjadi lebih cekap sumber, kami akan menunjukkan kepada anda cara untuk melumpuhkannya. Walau bagaimanapun, jika spesifikasi perkakasan anda boleh mengendalikannya dan anda menyukai pratonton, anda boleh mendayakannya. Bagaimana untuk mendayakan pratonton lakaran kecil bar tugas dalam Windows 11? 1. Menggunakan apl Tetapan ketik kekunci dan klik Tetapan. Windows klik Sistem dan pilih Perihal. Klik Tetapan sistem lanjutan. Navigasi ke tab Lanjutan dan pilih Tetapan di bawah Prestasi. Pilih "Kesan Visual"

Adakah anda melihat "Masalah berlaku" bersama-sama dengan pernyataan "OOBELANGUAGE" pada halaman Pemasang Windows? Pemasangan Windows kadangkala terhenti kerana ralat tersebut. OOBE bermaksud pengalaman di luar kotak. Seperti yang ditunjukkan oleh mesej ralat, ini ialah isu yang berkaitan dengan pemilihan bahasa OOBE. Tiada apa yang perlu dibimbangkan, anda boleh menyelesaikan masalah ini dengan penyuntingan pendaftaran yang bagus dari skrin OOBE itu sendiri. Pembetulan Pantas – 1. Klik butang “Cuba Semula” di bahagian bawah apl OOBE. Ini akan meneruskan proses tanpa gangguan lagi. 2. Gunakan butang kuasa untuk menutup paksa sistem. Selepas sistem dimulakan semula, OOBE harus diteruskan. 3. Putuskan sambungan sistem daripada Internet. Lengkapkan semua aspek OOBE dalam mod luar talian

Kita semua mempunyai pilihan yang berbeza apabila ia berkaitan dengan penskalaan paparan pada Windows 11. Sesetengah orang suka ikon besar, ada yang suka ikon kecil. Walau bagaimanapun, kita semua bersetuju bahawa mempunyai penskalaan yang betul adalah penting. Penskalaan fon yang lemah atau penskalaan berlebihan imej boleh menjadi pembunuh produktiviti sebenar apabila bekerja, jadi anda perlu tahu cara menyesuaikannya untuk memanfaatkan sepenuhnya keupayaan sistem anda. Kelebihan Zum Tersuai: Ini adalah ciri yang berguna untuk orang yang mengalami kesukaran membaca teks pada skrin. Ia membantu anda melihat lebih banyak pada skrin pada satu masa. Anda boleh membuat profil sambungan tersuai yang digunakan hanya pada monitor dan aplikasi tertentu. Boleh membantu meningkatkan prestasi perkakasan kelas rendah. Ia memberi anda lebih kawalan ke atas perkara yang terdapat pada skrin anda. Cara menggunakan Windows 11

Kecerahan skrin adalah bahagian penting dalam menggunakan peranti pengkomputeran moden, terutamanya apabila anda melihat skrin untuk jangka masa yang lama. Ia membantu anda mengurangkan ketegangan mata, meningkatkan kebolehbacaan dan melihat kandungan dengan mudah dan cekap. Walau bagaimanapun, bergantung pada tetapan anda, kadangkala sukar untuk mengurus kecerahan, terutamanya pada Windows 11 dengan perubahan UI baharu. Jika anda menghadapi masalah melaraskan kecerahan, berikut ialah semua cara untuk mengurus kecerahan pada Windows 11. Cara Menukar Kecerahan pada Windows 11 [10 Cara Diterangkan] Pengguna monitor tunggal boleh menggunakan kaedah berikut untuk melaraskan kecerahan pada Windows 11. Ini termasuk sistem desktop menggunakan monitor tunggal serta komputer riba. Jom mulakan. Kaedah 1: Gunakan Pusat Tindakan Pusat Tindakan boleh diakses

Proses pengaktifan pada Windows kadangkala mengambil giliran secara tiba-tiba untuk memaparkan mesej ralat yang mengandungi kod ralat ini 0xc004f069. Walaupun proses pengaktifan adalah dalam talian, beberapa sistem lama yang menjalankan Windows Server mungkin mengalami masalah ini. Lakukan semakan awal ini dan jika ia tidak membantu anda mengaktifkan sistem anda, lompat ke penyelesaian utama untuk menyelesaikan isu tersebut. Penyelesaian – Tutup mesej ralat dan tetingkap pengaktifan. Kemudian, mulakan semula komputer anda. Cuba semula proses pengaktifan Windows dari awal lagi. Betulkan 1 – Aktifkan dari Terminal Aktifkan sistem Windows Server Edition dari terminal cmd. Peringkat – 1 Semak Versi Pelayan Windows Anda perlu menyemak jenis W yang anda gunakan
