検索
ホームページバックエンド開発PHPチュートリアルEmacs 設定ファイル (自動プロンプト、yasnippet、PHP-mod、cscope などを含む)

Emacs 設定ファイル (自動プロンプト、yasnippet、PHP-mod、cscope などを含む)
元のアドレス: http://outofmemory.cn/code-snippet/3442/Emacs-configuration-file-contain-zidong-tishi- yasnippet-PHP-mod-cscope-kind




;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ファイル名: . emacs el lisp ファイル
;;
;; 作成日: 2011 年 8 月 12 日 15:56:07
;;
;; 電子メール: [email protected]
;; 説明: このファイルの名前を「.emacs」に変更し、ユーザーの HOME ディレクトリに置きます。
;; Shuimu Tsinghua Wanggen のさまざまな設定と Emacs 中国語 Web サイトの情報を参照しました
;; EMACS 中国語 Web サイトに感謝します: http://emacser.com/
;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;

;;********************** 基本設定 ****** ************

;;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")

;;個人情報
(setq user-full-name "Yu Chao")
( setq user-mail-address "[email protected]")

;;====================== 時刻設定 ===== ====== ==========
;;時間表示設定
;;ミニバッファの上のバーで時間表示設定を有効にします (名前は忘れました)
(display-time-mode 1 )
;;時間は 24 時間形式を使用します
(setq display-time-24hr-format t)
;;時間の表示には日付と特定の時間が含まれます
( setq display-time -day-and-date t)
;;タイムバーの横のメール設定を有効にする
(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)
;;---------------------- 終了時刻設定 ---- --- ---------------

;;====================== カラー設定==== =================
;; ポインターの色を白に設定します
;;(set-cursor-color "white")
;; マウスの色を設定します 白の場合
;;(set-mouse-color "white")
;; 背景色とフォントの色を設定します
(set-foreground-color "white")
(set-background-color "darkblue")
;; 他の色を設定します: 構文強調表示の背景とテーマ、領域選択の背景とテーマ、二次選択の背景と選択
(set-face-foreground 'ハイライト "白 ")
(set-face-background 'ハイライト "青")
(set-face-foreground '領域 "シアン")
(set-face-background '領域 "青")
(set-face-foreground 'Secondary-selection "skyblue")
(set-face-background 'Secondary-selection "darkblue")
;;カレンダーの色をいくつか設定します
(setq Calendar-load-Hook
'(lambda ()
(set-face-foreground 'diary-face "skyblue")
(set-face-background 'holiday-face "slate blue")
(set- face-foreground 'holiday-face "white")))

;;---------------------- カラー設定終了---- ------------------

;;フォント
(set-default-font "13")

;;一時ファイルを生成しません
(setq-default make-backup-files nil)

;;中国語環境を設定します
;;(set- language-environment ' Chinese-GB)

; ファイルを書き込むためのエンコード方式
;;(set-buffer-file-coding-system 'gb2312)
(set-buffer-file-coding-system 'utf-8)

;; 新しいファイルのコーディング方法
;;(setqdefault-buffer-file-coding-system 'gb2312)
(setqdefault-buffer-file-coding-system 'utf-8)

; ;端末エンコード方式
(set-terminal-coding-system 'utf-8)

;;キーボード入力エンコード方式
;;(set-keyboard-coding- system 'gb2312 )

;;ファイル名を読み書きするためのエンコード方式
(setq file-name-coding-system 'utf-8)

;;開くときにテキストモードを有効にする
(setqdefault-major-mode 'text-mode)

;;スタートアップメッセージを無効にする
;;(setqhibit-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)

;;yes/no を y/n に置き換えます
(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 を押してメニューを削除します。
(menu-bar-mode nil)

;;マウス ポインタの近くにマウスを置いてください。ポインタは自動的に邪魔にならない場所に移動します
;;(mouse-avoidance-mode 'animate)

;;マウス カーソルが外に出ているときは挿入しないでください
;;(setq Mouse-yank-at-point t)

;;選択した領域をハイライト表示
(transient-mark-mode t)

;;コピーと貼り付けをサポートemacs と外部プログラム
(setq x-select-enable-clipboard t)

;; タイトル バーの現在位置をプロンプト表示します
(setq Frame-title-format "Admire@%b" )

;; ミニバッファは再帰的に使用できます
(setqenable-recursive-minibuffers t)

;; 80 列が表示されるときに折り返す
(setqdefault-fill-column 80)

;;端末の呼び出し音を無効にする
( setq visiable-bell t)

;;タブをスペース 4 個の幅に設定します
;;(setq default-tab- width 4)

;;デフォルトで無効になっている機能を有効にする
(setq version-control t)
(setq keep-new-versions 3)
(setq delete-old-versions t)
(setq keep-old-versions 2)
( setq dired-kept-versions 1)

;;バックアップ中にバージョン管理を設定します。これにより、より安全になります。
(mapcar
(function (lambda (setting)
) ) (setq auto-mode-alist
(cons settings auto-mode-alist)))
'("\.xml $".sgml-mode)
("\.bash" . sh-mode)
("\.rdf$".sgml-mode)
("\.session" .emacs-lisp-モード)
("\.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)

;; タイムスタンプ設定 (time-stamp)、ドキュメントの最後に保存された情報を設定します
;ドキュメントにタイムスタンプ: 設定があるため、タイムスタンプは自動的に保存されます
;;タイムスタンプを有効にする
(setq time-stamp-active t)
;;タイムスタンプ警告を削除します?
(setq time-stamp-warn-inactive t)
;;タイムスタンプの形式を設定します。私の形式の例は次のとおりです。
(setq time-stamp-format "%:u. m/ d/ y H02M02S")
;;ファイルを保存するアクションに変更タイムスタンプを追加します。
(add-hook 'write-file-hooks 'time-stamp)

;; ドキュメントの最後に空白行を自動的に挿入します。一部のシステム設定ファイルではこれが必要のようです
(setq require -final-newline t)
(setq track-eol t)

;;C-k を使用してポインタから新しい行の末尾までをすべて削除します
(setq-default kill -全行 t)

;;削除された保存レコードを 200 に設定します。これにより、将来無制限に復元できるようになります
(setq kill-ring-max 200)

;;検索関数と変数を使用して検索範囲を広げる
(setq apropos-do-all t)

;; aspell プログラムを Emacs のスペルチェッカーとして使用することです
(setq-default ispell-プログラム名 "aspell")

;;narrow 機能を使用する場合の設定
(put 'narrow-to-region 'disabled nil)

;;Emacs を起動して自動設定2 つのウィンドウ (上下 1 つ)
;;(split-window-vertically)

;;この機能は、現在の行をこのページの最初の行として設定することであり、これは多少似ています。ターミナルの下のclearコマンドに
(defun line-to-top-of-window ()
「ラインポイントをウィンドウの上部に移動します。」
(対話型)
(recenter 0))

;;コードの折りたたみ
(load -library "hideshow")
(add-hook 'java-mode-hook 'hs-minor-mode)
(add-フック 'perl-mode-hook 'hs-minor-mode)
;(add-hook 'php-mode-hook 'hs-minor-mode)
(add-hook 'emacs-lisp-mode-フック 'hs-minor-mode)

;;一時的な表記
;;場合によっては、別のファイルにジャンプし、いくつかの操作を実行してから、すぐに戻る必要があります。もちろんブックマークや登録も可能です。
;;しかし、これらは遅すぎます。 vi のような ma、mb、'a、'b 操作があればいいのにと思います。数行の elisp
(global-set-key [(control ?.)] 'ska-point-to-register)
(global-set-key [(control ?, )] 'ska-jump-to-register)
(defun ska-point-to-register()
"カーソル位置 _fast_ をレジスタに保存します。
ska-jump-to-register を使用して、保存された
位置に戻ります。"
(対話型)
(setq zmacs-region-stays t)
(point-to-registerEmacs 設定ファイル (自動プロンプト、yasnippet、PHP-mod、cscope などを含む))

(defun ska-jump-to-register()
"現在のカーソル位置と位置を切り替えます
それは ska-point-to-register で保存されました。"
(対話型)
(setq zmacs-region-stays t)
(let ((tmp (point-marker)))
( Jump-to-registerEmacs 設定ファイル (自動プロンプト、yasnippet、PHP-mod、cscope などを含む)
(set-register 8 tmp)))

;; go-to-char この関数を提供してくれた Oliver Scholz に感謝します
; ; これは、vi の "f" コマンドの代替です。vi には特に優れたコマンド "f" があることを知っています。x が任意の文字の場合、カーソルが次の "x" に移動します。その後、「;」(セミコロン)を押すと、カーソルが次の「x」に移動します。たとえば、カーソルは行の先頭にあります。 setq unread-command-events (list last-input-event)))
;; 最後のイベントにすぐに到達したいので、vi で「fe」を押した結果、カーソルは e に到達しました。このとき、「;」、
を押すと、最初はそう思わなかったかもしれませんが、後でこれが便利であることがわかりました。

;; Emacs にはそんな便利なコマンドはないといつも思っていましたが、Oliver は完璧な答えをくれました:
;; このコードでは、C-c を押すと x が表示されます。任意の文字)、カーソルは次の x に移動します。もう一度 x を押すと、カーソルは次の x に移動します。たとえば、C-c a b b b b b ...
;;Iこのメソッドは vi の "f" より速いと思います。
(defun wy-go-to-char (n char)
"CHAR の N 番目の出現に進みます。
`wy-go-to-char と入力します-key' を再度指定すると、CHAR の次の N 番目
出現箇所に進みます。"
(対話型 "pncGo 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)

;;==== =========== ======= 中国語設定 =====================
;;(setq gnus-default-charset 'cn-gb-2312
;;gnus グループ名-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)

;;---------------(utf-8) モードを設定---------------
(set- language-environment '中国語-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)
(変更-coding-system-alist 'プロセス "*" 'utf-8)
(setq デフォルトプロセスコーディングシステム '(utf-8 . utf-8))
(setq-デフォルトパス名コーディング- system 'utf-8)
(set-file-name-coding-system 'utf-8)
(setq ansi-color-for-comint-mode t ) ;;'|àshell-mode??, o??÷[M`J3

;;中国語の句読点を認識するように文末を設定します。ピリオドの後にスペースを 2 つ挿入する必要はありません。
(setq 文末 "\([.!?]\|...\|[.?!][]"')}]*\($\|[ t]\)\)[ tn ] *")
(setq speech-end-double-space nil)

;;---------------------- 中国語終了設定 ----------

;;ウィンドウ設定
(gnus-add-configuration '(article (vertical 1.0 (summary . 35 点) (article1.0))))

;;グループバッファー設定
;;トピックモードに自動的に入る
(add-hook 'gnus-group-mode-hook 'gnus- topic -mode)

;;サマリーバッファ設定
(setq gnus-summary-line-format ":%U%R %B %s %-60=|%4L |%-20,20f | %&user-date; n")

;;記事バッファ設定
;;表示されるヘッダー メッセージの形式を設定します
(setq gnus-visible-headers
"^\( ^ 宛先:\|^CC:\|^差出人:\|^件名:\|^日付:\|^フォローアップ先:
\|^X ニュースリーダー:\|^ユーザー エージェント:\|^ X -Mailer:
\|Line:\|Lines:\|Content-Type:\|NNTP-Posting-Host\)")

;; session.el
;;(必須' session)
;; (add-hook 'after-init-hook 'session-initialize)

;; 自動改行、1 行あたり 80 文字
(add-hook 'message-mode - フック (lambda ()
(setq fill-column 80)
(turn-on-auto-fill)))

;;====================== フォントデコード優先度 =====================;
;;王嬰からコピーしたものなので変更する必要はありません。
;;(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" (韓国語-ksc5601 . 0))
;;("MuleArabic-0" (アラビア数字 . 0))
;;("MuleArabic-1" (arabic-1-column . 0))
;;("MuleArabic-2" (arabic-2-column . 0))) font-encoding-alist))
;;------ ---------------- フォントデコードの優先順位 ------------------------

; ;マウスのスクロール ホイール、デフォルトのスクロールが速すぎるため、ここでは 3 行に変更されます
(defun up-slightly () (interactive) (scroll-up 3))
(defun down-slightly () (interactive) ) (下にスクロール 3))
(global-set-key [mouse-4] 'down-slightly)
(global-set-key [mouse-5] 'up-slightly)

;; デート リマインダー
(setq appt-issue-message t)

;;********************** グローバル キー設定 *** ******************
;;[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] 現在のウィンドウを最大化するように定義
;;習慣設定、メニューを開く/閉じる
(global-set-key [f12] 'menu-bar-mode)

;;カーソル設定の移動
(global-set-key [home] 'beginning-of-buffer)
(global-set -key [end] 'end-of-buffer)

;;バッファ設定の切り替え
(global-set-key [(control o)] 'other-window)
(global- set-key [(control tab)] 'tabbar-forward)

;;********************** 一般的なプログラミング構成*** ******************
;; Alt / を押すと、
を自動的に完了できるメニューが表示されます。;;(定義キー c -mode-base-map [(meta ?/)] 'semantic-ia-complete-symbol-menu)

;;ホットキー設定
(global-set-key [f5] 'compile)
(setq-default コンパイルコマンド "make")
(global-set-key [f6] 'speedbar)
(global-set-key [f7] 'gdb)
(global-set -key [f8] '前のエラー)
(グローバルセットキー [f9] '次のエラー)
;;スタートウィンドウ gdb
(グローバルセットキー [f10] 'gdb- many- windows)

;;(global-set-key [f9] 'delete-window);F9 で現在のウィンドウを閉じます
;;(global-set-key [f8] 'other-window ); F8 でウィンドウ間をジャンプ
;;(global-set-key [(f2)] 'ansi-term); F2 でシェル モードに切り替え
;;(global-set-key [f3] 'split- window -vertical);F3 分割ウィンドウ
;;(global-set-key [f12] 'my-fullscreen);F12 フルスクリーン
;;(global-set-key [(f4)] 'コンパイル) ;コンパイル
;;(global-set-key [f5] 'gdb);Start gdb
;;(global-set-key [(f6)] 'gdb-many-windows);Start window gdb
;;(global-set-key [f1] 'goto-line);M-g を goto-line に設定します
;;(global-set-key [f7] 'other-frame);他のペインにジャンプします
;;(global-set-key [(f3)] 'speedbar);スピードバーを開く

;;######### CC モード設定 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 )
(setqdefault-tab-width 4)
;;(setq tab-stop-list())
;;(x を 40 から 1 にループ
;; (setq tab -stop-list (cons(* x 4) tab-stop-list)))

;;Linux カーネルのドキュメントから取得したデフォルトの Linux カーネル プログラミング スタイル
(setq auto-mode-alist ( cons '("/usr/src/linux.*/.*\.[ch]$" . linux-c-mode)
auto-mode-alist))

(defun linux-c -mode ()
"Linux カーネルで使用するためにデフォルトが調整された C モード。"
(対話型)
(c-mode)
(c-set-style "K&R")
(setq tab-width 4) ;;デフォルトのスタイルは 8 インデントです
(setq indent-tabs-mode t)
(setq c-basic-offset 4)) ;;デフォルトのスタイルは 8 インデントです Enter

;;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)
;;ungry-delete および 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 処理設定
;;(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预处処理设置
;;(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)

;;================== ==== 自動补全機能 =====================
;;自動补全機能、这事从王垠的网站直接コピー过来的これは、ヒッピーエクスパンドの下にある
;; の完全な形式を示しています。つまり、最初に現在のバッファ全体を使用し、到達しない場合は、
のように、個別の任意のポート領域に到達します。; さらに到達できない場合は、開いているすべてのバッファに到達します。 kill-ring へ、ファイル名へ、一般的なリスト
;;ここで、リストへ、現在使用されている一致方式がエコー エリアに表示されます。私は何度も行文字の大まかな段階
;;同じ、唯一の文字だけを持っていますが、私はコピーを確実に下に取得します。その後
;;多按下 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))

;;ヒッピーの自動补齐策略、優先使用上院議員の分析結果:
(autoload 'senator-try-expand-semantic "senator")
;;------ --------------- 自動补全終了 ---------------------

;;== ==================== 常用编程插件 =====================

;;********************** 自動ヘッダー *********************

(add-to-list 'load-path "~/.emacs.d/plugins/")
;;(require 'auto-header)
;;追加auto-header.el文件,自動追加文件头
;;('auto-headerが必要です)
;; 設定文件头中の姓名
(setq header-full-name "Yu Chao")
;; 設置邮箱
(setq header-email-address "[email protected]")

;; 設定次回保存時間要更新的项目
(setq header-update-on-save
'( filename
modified
counter
copyright))
;; 設置文件头の显示格式
(setq header-field-list
'( ファイル名 ;文件名
空白 ;空行,下同
;;著作権 ;;版权
バージョン
著者 ;作成者
作成済み ;创建人
空白
説明 ;記述
;;空白
;;modified_by ;変更者
;; ステータス ;状態态,是否播布
;;更新
;;空白
))
;;---------------------- END auto-ヘッダー ---------------------

;;==================== == cedet をロード =====================
;;設定の詳細については、cedet/common/cedet.info を参照してください。
;;(ロードファイル "~/.emacs.d/plugins/cedet-1.0pre7/common/cedet.el")

;; EDE (プロジェクト管理) 機能を有効にする
;;(global-ede-mode 1)

;;既存の C プロジェクトに対して EDE を有効にします
;; (ede-cpp-root-project "NAME" :file "~/myproject/Makefile")

;;セマンティック (コード解析、スマート補完) 機能を有効にする
;;次のいずれかを選択します:

;; * これにより、データベースとアイドル状態の再解析エンジンが有効になります
;;(semantic-load-enable-minimum-features)

;; * これにより、概要モード
;; など、コーディングに役立ついくつかのツールが有効になります。   imenu サポート、およびセマンティック ナビゲーター
;;(semantic-load-enable-code-helpers)

;; * これにより、インテリセンス モード
;; などのさらに多くのコーディング ツールが有効になります。   デコレーション モード、および Stickyfunc モード (および通常のコード ヘルパー)
;; (semantic-load-enable-gaudy-code-helpers)

;; * これにより、Exuberent ctags がインストールされている場合に使用できるようになります。
;;   C テンプレートまたはブーストを使用する場合は、それを有効にしないでください。
;; (semantic-load-enable-all-exuberent-ctags-support)
;;   または、次の 2 種類のサポートのいずれかを使用します。
;;   ctags を介してのみ新しい言語のサポートを追加します。
;; (semantic-load-enable-primary-exuberent-ctags-support)
;;   ctag をバックアップ パーサーとして使用するためのサポートを追加します。
;; (semantic-load-enable-secondary-exuberent-ctags-support)

;; SRecode (テンプレート管理) マイナーモードを有効にします。
;; (global-srecode-minor-mode 1)
;;---------------------- END cedet ----------- ----------

;;====================== ECB の読み込み ======== =============
(リストに追加 'load-path "~/.emacs.d/plugins/ecb")
('ecb が必要)
;;(require 'ecb-autoloads)
;; emacs を起動し、M-x ecb-activate を実行するとすぐに ECB を起動できます。 ---- 終了 ecb ----------

;;=============== ======= 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、その後、ソースコード内でジャンプを実行できます。 cscope菜单
;;ここにある篇讲怎么emacs下でcscopeをインストールして使用する:
;;http://ann77.stu.cdut.edu.cn/EmacsCscope.html
;;- --------------------- 終了 cscop ----------

;;====================== カラーテーマの読み込み =====================
;;方式案
;;(load-file "~/.emacs.d/plugins/color-theme.el")
;;(required 'color-theme)
;;( add-hook 'c-mode-common-hook 'color-theme-taylor)
;;(add-hook 'c -mode-common-hook 'color-theme-taylor)
;;--- ------------------- END カラーテーマ ---------------------

;;====================== `gdb-many-window をロードする =================== ==
;;gdb-many-window
;;この機能插件は emacs の调试界面像 VC一样,有watch,stacktrace 等窗口,真正实现图形化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

(リストに追加 '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 ----------

;;====================== linum の読み込み =====================
;;调用linum.el(行番号)来显表示行番号:
;;(add-to-list 'load-path"~/.emacs.d/plugins")
(require 'linum)
(global-linum-mode 1)
;;---------------------- END linum ----------- ----------

;;====================== Doxymacs をロードする ======== =============
;;调用linum.el(行番号)来显表示行番号:
;;(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)

;;  これにより、Doxygen キーワードが c-mode および c -mode のみに追加されます。
;;- デフォルトのキー バインディングは次のとおりです。
;;  - C-c d ?ポイントの下のシンボルのドキュメントが検索されます。
;;  - C-c d r は Doxygen タグ ファイルを再スキャンします。
;;  - C-c d f は、次の関数の Doxygen コメントを挿入します。
;;  - C-c d i は現在のファイルに Doxygen コメントを挿入します。
;;  - C-c d ;現在のメンバーの Doxygen コメントを挿入します。
;;  - C-c d m は空白の複数行の Doxygen コメントを挿入します。
;;  - C-c d s は空白の 1 行の Doxygen コメントを挿入します。
;; - C-c d @ は、現在の領域の周囲にグループ化コメントを挿入します。

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

;;====================== yasnippet をロードします == ===================
;;自动补全代网插件
(add-to-list 'load-path
"~/.emacs .d/plugins/yasnippet-0.6.1c")
(「yasnippet」が必要) ;; yasnippet-bundle
(yas/initialize)
(yas/load-directory "~/.emacs.d/plugins/yasnippet-0.6.1c/snippets")
;;----- ----------------- 終了ヤスニペット ---------------------

;;== ==============================PHP モード================= ==================

;; PHP 语法サポート、必要な MMM モ块の追加才混合代金サポート
(add-to-list 'load-path"~/.emacs.d/plugins/php")
;;php-mode

(require 'php-mode)

;;基礎扩展名绑定

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

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

(リストに追加 'auto-mode-alist '("\.inc\'" . php-mode))

('auto-complete が必要)
( locate-library "auto-complete.el")
;;php 自動提案設置

(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)

;; match,

;; `ac-source-php-completion' の代わりに `ac-source-php-completion-patial' を使用します。

(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/")
;;設置使用install-elisp-from-emacswiki 後下ダウンロード下来の文件路径,我掌它们放在一文件夹里面

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
セッションロックの概念を説明します。セッションロックの概念を説明します。Apr 29, 2025 am 12:39 AM

Sessionlockingisatechniqueusedtoensureauser'ssessionremainsexclusivetooneuseratatime.Itiscrucialforpreventingdatacorruptionandsecuritybreachesinmulti-userapplications.Sessionlockingisimplementedusingserver-sidelockingmechanisms,suchasReentrantLockinJ

PHPセッションの選択肢はありますか?PHPセッションの選択肢はありますか?Apr 29, 2025 am 12:36 AM

PHPセッションの代替品には、Cookie、トークンベースの認証、データベースベースのセッション、Redis/Memcachedが含まれます。 1.Cookiesは、クライアントにデータを保存することによりセッションを管理します。 2.トークンベースの認証はトークンを使用してユーザーを検証します。これは非常に安全ですが、追加のロジックが必要です。 3.Databaseベースのセッションは、データベースにデータを保存します。これは、スケーラビリティが良好ですが、パフォーマンスに影響を与える可能性があります。 4. Redis/Memcachedは分散キャッシュを使用してパフォーマンスとスケーラビリティを向上させますが、追加のマッチングが必要です

PHPのコンテキストで「セッションハイジャック」という用語を定義します。PHPのコンテキストで「セッションハイジャック」という用語を定義します。Apr 29, 2025 am 12:33 AM

SessionHijackingとは、ユーザーのSessionIDを取得してユーザーになりすましている攻撃者を指します。予防方法には、次のものが含まれます。1)HTTPSを使用した通信の暗号化。 2)SessionIDのソースの検証。 3)安全なSessionID生成アルゴリズムの使用。 4)SessionIDを定期的に更新します。

PHPの完全な形式は何ですか?PHPの完全な形式は何ですか?Apr 28, 2025 pm 04:58 PM

この記事では、PHPについて説明し、その完全なフォーム、Web開発での主要な使用、PythonとJavaとの比較、および初心者の学習のしやすさについて説明します。

PHPはフォームデータをどのように処理しますか?PHPはフォームデータをどのように処理しますか?Apr 28, 2025 pm 04:57 PM

PHPは、$ \ _ postおよび$ \ _を使用してフォームデータを処理し、検証、消毒、安全なデータベースインタラクションを通じてセキュリティを確保します。

PHPとASP.NETの違いは何ですか?PHPとASP.NETの違いは何ですか?Apr 28, 2025 pm 04:56 PM

この記事では、PHPとASP.NETを比較して、大規模なWebアプリケーション、パフォーマンスの違い、セキュリティ機能への適合性に焦点を当てています。どちらも大規模なプロジェクトでは実行可能ですが、PHPはオープンソースであり、プラットフォームに依存しませんが、ASP.NET、

PHPはケースに敏感な言語ですか?PHPはケースに敏感な言語ですか?Apr 28, 2025 pm 04:55 PM

PHPの症例感度は変化します:関数は鈍感であり、変数とクラスは感度があります。ベストプラクティスには、一貫した命名と、比較のためにケース非感受性関数を使用することが含まれます。

PHPでページをリダイレクトするにはどうすればよいですか?PHPでページをリダイレクトするにはどうすればよいですか?Apr 28, 2025 pm 04:54 PM

この記事では、PHPのページリダイレクトのさまざまな方法について説明し、ヘッダー()関数に焦点を当て、「すでに送信されているヘッダー」エラーなどの一般的な問題に対処します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

DVWA

DVWA

Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、