找回密码
 注册
查看: 785|回复: 0

emac 为什么不能加亮C和CPP,却能加亮Tex?

[复制链接]
发表于 2005-1-24 16:17:15 | 显示全部楼层 |阅读模式
我在.emacs中已设置(global-font-lock-mode 't) 但c程序还是没被加亮,而tex等则加亮了。附件为截图,很奇怪。下面是我的配置文件,谢谢!
;(require 'tex-site)
;;设置AUCTex
;(load "preview-latex")
;;设置previe-latex


;;-------------------------中文设定--------------------------
;; Setup GBK environment
(require 'mule-gbk)
(set-terminal-coding-system 'chinese-gbk)
(set-keyboard-coding-system 'chinese-gbk)
(set-language-environment 'chinese-gbk)
(setq locale-coding-system 'chinese-gbk)
(setq current-language-environment "Chinese-GBK")
;; Setup X Selection for mule-gbk
(mule-gbk-selection-setup)
(prefer-coding-system 'chinese-gbk)
;;
(set-buffer-file-coding-system 'chinese-gbk)
(set-terminal-coding-system 'chinese-gbk)
;;-------------------------向其它X程序粘贴中文---------------
(when (fboundp 'utf-translate-cjk-mode)
;; Load modified utf-translate-cjk-mode
(require 'gbk-utf-mode)
;; Turn on utf-translate-cjk-mode
(utf-translate-cjk-mode 1)
;; Setup X selection for unicode encoding
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING)))

;;-------------------------grammer highlighten--------------------------
(global-font-lock-mode 't)

;;-------------------------shutdown error beep-------------
(setq visible-bell t)

;;-------------------------no splashscreen------------
(setq inhibit-startup-message t)

;;-------------------------show line number--------------------------
;;(setq column-number-mode t)

;;-------------------------括号匹配--------------------------
;;括号匹配时显示另一端括号,不跳过去
(show-paren-mode t)
(setq show-paren-style 'parentheses)

;;----------------show buffer name in title bar--------------------
(setq frame-title-format "emacs@%b")

(show-paren-mode t) ; 高亮显示匹配的括号
;;Time display
(display-time-mode t)
;;时间显示设置
;;时间使用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 30)

;;-------------------------Shell 使用ansi color-------------
(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)

;;-------------------------使用win下的 选择习惯---------------
;;用shift加方向键选择
(pc-selection-mode)

;;-------------------------让emacs拥有tabs-------------------
;;http://learn.tsinghua.edu.cn/homepa...macs_elisp.html
;;到这个网页下载tabbar.el 存到/usr/share/emacs/site-lisp/
;;(require 'tabbar)
;;(tabbar-mode)
;;(define-prefix-command 'lwindow-map)
;;(global-set-key (kbd "") 'lwindow-map)
;;(global-set-key (kbd "") 'tabbar-backward-group)
;;(global-set-key (kbd "") 'tabbar-forward-group)
;;(global-set-key (kbd "") 'tabbar-backward)
;;(global-set-key (kbd "") 'tabbar-forward)
;;使用Win+方向键在tabbed buffer间切换GBK中文

(setq scroll-step 1
scroll-margin 3
scroll-conservatively 10000)
;;防止页面跳动,靠近屏幕3行时就开始滚动

;(setq require-final-newline t)
;;换行时自动加入回车

(global-set-key [f5] 'other-window) ; 跳转到 Emacs 的另一个窗口
(global-set-key [f9] 'compile) ; 在 Emacs 中编译
(global-set-key [f8] 'gdb) ; 在 Emacs 中调试

(setq frame-background-mode 'dark)
;; 设置背景为黑的,这样 Emacs 的很多缺省颜色会和黑色背景协调。

(cond ((not window-system)
;; 如果不在 window 环境中(字符界面时)
(setq frame-background-mode 'dark)
;; 设置背景为黑的,这样 Emacs 的很多缺省颜色会和黑色背景协调。
(eval-after-load "log-view"
;; 设置 log-view 的颜色。
'(progn
(set-face-attribute 'log-view-file-face nil :foreground "blue" :weight 'bold)
(set-face-attribute 'log-view-message-face nil :foreground "yellow" :weight 'bold)))


(eval-after-load "ediff-init"
;; 设置 ediff 的颜色。
'(progn
(set-face-attribute 'ediff-current-diff-face-A nil :background "blue" :foreground "red" :weight 'bold)
(set-face-attribute 'ediff-current-diff-face-Ancestor nil :background "magenta" :foreground "black")
(set-face-attribute 'ediff-current-diff-face-B nil :background "blue" :foreground "yellow" :weight 'bold)
(set-face-attribute 'ediff-current-diff-face-C nil :background "blue" :foreground "magenta" :weight 'bold)
(set-face-attribute 'ediff-even-diff-face-A nil :background "black" :foreground "red")
(set-face-attribute 'ediff-even-diff-face-Ancestor nil :background "cyan" :foreground "black")
(set-face-attribute 'ediff-even-diff-face-B nil :background "black" :foreground "blue")
(set-face-attribute 'ediff-even-diff-face-C nil :background "black" :foreground "magenta")
(set-face-attribute 'ediff-fine-diff-face-A nil :background "cyan" :foreground "red")
(set-face-attribute 'ediff-fine-diff-face-Ancestor nil :background "cyan" :foreground "black")
(set-face-attribute 'ediff-fine-diff-face-B nil :background "cyan" :foreground "yellow" :weight 'bold)
(set-face-attribute 'ediff-fine-diff-face-C nil :background "Turquoise" :foreground "magenta" :weight 'bold)
(set-face-attribute 'ediff-odd-diff-face-A nil :background "black" :foreground "red3" :weight 'bold)
(set-face-attribute 'ediff-odd-diff-face-Ancestor nil :background "black" :foreground "green" :weight 'bold)
(set-face-attribute 'ediff-odd-diff-face-B nil :background "black" :foreground "yellow" :weight 'bold)
(set-face-attribute 'ediff-odd-diff-face-C nil :background "black" :foreground "magenta" :weight 'bold))))

((eq window-system 'x)
;; 如果在 X Window 中
(global-set-key (kbd "C--") 'undo)
;; Console 中习惯了 C-_ 作为 Undo,不妨把这个也改过来。

(setq visible-bell t)
;; X Window 中的 visible-bell 还是很好看的。

(setq x-stretch-cursor nil)
;; 如果设置为 t,光标在 TAB 字符上会显示为一个大方块 。

(scroll-bar-mode -1)
(tool-bar-mode -1)
;; 不要 tool-bar 和 scroll-bar。

(setq default-frame-alist
;; 缺省的颜色设置。
`((vertical-scroll-bars)
(top . 0) (left . 0) (width . 111) (height . 4
(background-color . "Black")
(foreground-color . "Lightgreen")
(cursor-color . "Gold")
(mouse-color . "Gold")
(font . "fontset-normal")))

;; 其他颜色设置。
(if (facep 'mode-line)
(set-face-attribute 'mode-line nil :foreground "Wheat" :background "DarkSlateGrey"))
(if (facep 'fringe)
(set-face-attribute 'fringe nil :foreground "limegreen" :background "gray30"))
(if (facep 'tool-bar)
(set-face-background 'tool-bar "DarkSlateGrey"))
(if (facep 'menu)
(face-spec-set 'menu '((t (:foreground "Wheat" :background "DarkSlateGrey")))))
(if (facep 'trailing-whitespace)
(set-face-background 'trailing-whitespace "SeaGreen1"))
(if (facep 'minibuffer-prompt)
(face-spec-set 'minibuffer-prompt '((t (:foreground "cyan")))))))

(setq auto-mode-alist
;; 将文件模式和文件后缀关联起来。
(append '(("\\.py\\'" . python-mode)
("\\.s?html?\\'" . html-helper-mode)
("\\.asp\\'" . html-helper-mode)
("\\.phtml\\'" . html-helper-mode)
("\\.css\\'" . css-mode))
auto-mode-alist))



(add-hook 'c-mode-common-hook
(lambda ()
(c-toggle-auto-hungry-state 1)
(which-func-mode 1)))
;; auto-newline 子模式,自动换行缩进;
;; hungry-delete 子模式,一个 Backspace 删除尽可能多的空白;
;; which-func-mode 在模式行中显示当前行在哪个函数中。

(auto-compression-mode 1) ; 打开压缩文件时自动解压缩。
(blink-cursor-mode -1) ; 光标不要闪烁。

(fset 'yes-or-no-p 'y-or-n-p)
;; 改变 Emacs 固执的要你回答 yes 的行为。按 y 或空格键表示 yes,n 表示 no。

(setq-default kill-whole-line t)
;; 在行首 C-k 时,同时删除该行。

(setq font-lock-maximum-decoration t)
(setq font-lock-global-modes '(not shell-mode text-mode))
(setq font-lock-verbose t)
(setq font-lock-maximum-size '((t . 1048576) (vm-mode . 5250000)))
;; 语法高亮。除 shell-mode 和 text-mode 之外的模式中使用语法高亮。

(setq track-eol t)
;; 当光标在行尾上下移动的时候,始终保持在行尾。


(setq time-stamp-active t)
(setq time-stamp-warn-inactive t)
(setq time-stamp-format "%:y-%02m-%02d %3a %02H02M02S gr1x")
;; 设置时间戳,标识出最后一次保存文件的时间。


(setq version-control t)
(setq kept-old-versions 1)
(setq kept-new-versions 2)
(setq delete-old-versions t)
(setq backup-directory-alist '(("." . "~/.autosave")))
(setq backup-by-copying t)
;; Emacs 中,改变文件时,默认都会产生备份文件(以 ~ 结尾的文件)。可以完全去掉
;; (并不可取),也可以制定备份的方式。这里采用的是,把所有的文件备份都放在一
;; 个固定的地方("~/var/tmp")。对于每个备份文件,保留最原始的两个版本和最新的
;; 五个版本。并且备份的时候,备份文件是复本,而不是原件。
;;备份频率默认情况下emacs每隔300次击键自动存盘一次,把100改成你喜欢的值
(setq auto-save-interval 100)

(setq auto-save-list-file-prefix nil)
;;I don't wanna autosaved list file for any session

(mouse-avoidance-mode 'animate)
;;光标靠近鼠标时让鼠标指针自动闪开

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-2-7 03:03 , Processed in 0.053922 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表