`
kiol
  • 浏览: 43394 次
  • 来自: ...
社区版块
存档分类
最新评论

emacs下rails模式中的错误代码的颜色修改

阅读更多

联系使用emacs做rails开发,并使用color-theme做了色彩调整,我用的是(color-theme-calm-forest),但是在代码出错后,背景色变得和前景色极为相近,非常难辩认.修改color-theme不起作用,后来发现所有色彩主题都是同样的颜色,后又猜是ruby-mode搞得,看了一遍也没找到原因.最后终于找到,可以使用

"Set point on a comment and hit `M-x describe-face'.  You can also use
`M-x customize-face' to modify it."

然后看了一下,原来flyMake搞的鬼,应该rails带的,以前到没注意这个,有空看看除了实时提醒代码错误外,还能干嘛.

最后加了一行代码解决:

(custom-set-faces '(flymake-errline ((((class color)) (:background "DarkRed")))))

全部.emacs文件如下:

(desktop-save-mode 1)

(setq default-major-mode 'text-mode)
(add-hook 'text-mode-hook 'turn-on-auto-fill)


;;(global-font-lock-mode)
(transient-mark-mode t)

(fset 'yes-or-no-p 'y-or-n-p)
(display-time)
(show-paren-mode t)
(tool-bar-mode -1)
(menu-bar-mode -1)
(scroll-bar-mode -1)
(setq-default make-backup-files nil)
(setq default-directory "E:/NBProjects/")

(global-set-key [(meta g)] 'goto-line)
(global-set-key [(meta left)] 'backward-sexp)
(global-set-key [(meta right)] 'forward-sexp)
(global-set-key "\C-x\C-m" 'execute-extended-command)
(global-set-key "\C-c\C-m" 'execute-extended-command)
(global-set-key "\C-w" 'backward-kill-word)
(global-set-key "\C-x\C-k" 'kill-region)
(global-set-key "\C-c\C-k" 'kill-region)
(global-set-key [f5] 'call-last-kbd-macro)

;; Taken from the comment section in inf-ruby.el
;; (setq ruby-program-name "/usr/local/bin/ruby")
(add-to-list 'load-path (expand-file-name "D:/ruby/src/ruby-1.8.6-p111/misc"))
(autoload 'ruby-mode "ruby-mode" "Mode for editing ruby source files")
(add-to-list 'auto-mode-alist '("\\.rb$" . ruby-mode))
(add-to-list 'interpreter-mode-alist '("ruby" . ruby-mode))
(autoload 'run-ruby "inf-ruby" "Run an inferior Ruby process")
(autoload 'inf-ruby-keys "inf-ruby" "Set local key defs for inf-ruby in ruby-mode")
(add-hook 'ruby-mode-hook '(lambda () (inf-ruby-keys)
                 (require 'ruby-electric)
                 (ruby-electric-mode t)))


;; disable backup
(setq make-backup-files nil)
;; abbrev mode
(setq-default abbrev-mode t)
(read-abbrev-file "~/.emacs.d/abbrev_defs")
(setq save-abbrevs t)

(add-to-list 'load-path "~/site-lisp")
(add-to-list 'load-path "~/site-lisp/rails")
(add-to-list 'load-path "~/site-lisp/cedet/common")
(add-to-list 'load-path "~/site-lisp/ecb")

(add-hook 'nxml-mode-hook
          (lambda ()
            (setq local-abbrev-table nxml-mode-abbrev-table)))
(defun try-complete-abbrev (old)
  (if (expand-abbrev) t nil))

(setq hippie-expand-try-functions-list
      '(try-complete-abbrev
        try-complete-file-name
        try-expand-dabbrev))

(require 'psvn)
(require 'snippet)
(require 'cedet)
(require 'rails)
;; associate ruby-mode with .rb files
(add-to-list 'auto-mode-alist '("\.rb$" . ruby-mode))
(setq auto-mode-alist  (cons '("\\.rjs$" . ruby-mode) auto-mode-alist))
(setq auto-mode-alist  (cons '("\\.rake$" . ruby-mode) auto-mode-alist))
(setq auto-mode-alist  (cons '("\\.rhtml$" . nxml-mode) auto-mode-alist))
(setq auto-mode-alist  (cons '("\\.erb$" . nxml-mode) auto-mode-alist))

(modify-coding-system-alist 'file "\\.rhtml$" 'utf-8)
(modify-coding-system-alist 'file "\\.erb$" 'utf-8)
(modify-coding-system-alist 'file "\\.rb$" 'utf-8)
(modify-coding-system-alist 'file "\\.rjs$" 'utf-8)
(modify-coding-system-alist 'file "\\.yml$" 'utf-8)

(add-to-list 'load-path "~/site-lisp/yasnippet")
(require 'yasnippet)
(add-to-list 'yas/extra-mode-hooks
             'ruby-mode-hook)
(yas/initialize)
(yas/load-directory "~/site-lisp/yasnippet/snippets")
(setq yas/root-directory "~/snippets")
(yas/load-directory yas/root-directory)
(make-variable-buffer-local 'yas/trigger-key)
(add-hook 'ruby-mode-hook ; or rails-minor-mode-hook ?
          '(lambda ()
             (setq yas/trigger-key
                   (kbd "<tab>"))))
(semantic-load-enable-code-helpers)
(require 'ecb-autoloads)
(mouse-avoidance-mode 'animate) 
 
(load "~/site-lisp/nxml/autostart.el")

(add-to-list 'auto-mode-alist '("\\.css$" . css-mode)) 

(add-to-list 'load-path "~/site-lisp/color-theme")
(require 'color-theme) 
(color-theme-initialize) 
;;(color-theme-gnome2) 
(color-theme-calm-forest)
(custom-set-faces '(flymake-errline ((((class color)) (:background "DarkRed")))))

;;在html和css模式下将#XXXXXX按所代表的颜色着色
(defvar hexcolour-keywords
   '(("#[abcdef[:digit:]]\\{6\\}"
      (0 (put-text-property (match-beginning 0)
                            (match-end 0)
                            'face (list :background
                                        (match-string-no-properties 0)))))))
 (defun hexcolour-add-to-font-lock ()
   (font-lock-add-keywords nil hexcolour-keywords))
 (add-hook 'nxml-mode-hook 'hexcolour-add-to-font-lock)
 (add-hook 'css-mode-hook 'hexcolour-add-to-font-lock)
 
;; for yaml 
  
(require 'yaml-mode) 
 
(add-to-list 'auto-mode-alist '("\\.yml$" . yaml-mode)) 
(add-hook 'yaml-mode-hook 
          '(lambda () 
             (define-key yaml-mode-map "\C-m" 'newline-and-indent))) 
 
;; for javascript 

;;启动emacsclient服务,然后用emacsclientw.exe打开文件就不用新开一个emacs了
(server-start)
 
(autoload 'javascript-mode "javascript" nil t) 
(add-to-list 'auto-mode-alist '( "\\.js\\'" . javascript-mode)) 
(custom-set-variables
  ;; custom-set-variables was added by Custom.
  ;; If you edit it by hand, you could mess it up, so be careful.
  ;; Your init file should contain only one such instance.
  ;; If there is more than one, they won't work right.
 '(ecb-options-version "2.33beta2"))

(ido-mode t)

3
0
分享到:
评论
1 楼 kiol 2008-07-02  
呵呵,终于找到正宗的修改方法了
;; I don't like the default colors
(set-face-background 'flymake-errline "red4")
(set-face-background 'flymake-warnline "dark slate blue")

相关推荐

    EMACS 的 VIPOR 模式命令卡片

    2. **永久设置**:在 `.emacs` 文件中添加以下代码: ```lisp (setq viper-mode t) (require 'viper) ``` #### 三、VIPOR 的状态 VIPOR 模式包含四种状态: 1. **Emacs 状态**:可以执行所有正常的 GNU Emacs...

    projectile-rails:基于弹丸的Emacs Rails模式

    Projectile Rails是用于在GNU Emacs中使用应用程序和引擎的次要模式。 在内部它是基于。 这意味着您可以使用Projectile的命令来获取(或确认)文件,运行测试,在项目之间切换等。 使用Projectile Rails,您可以:...

    projectile-rails, 基于弹丸的Rails 模式.zip

    projectile-rails, 基于弹丸的Rails 模式 弹 Rails 概要弹 Rails 是在 GNU Emacs中使用 Ruby on Rails 应用程序和引擎的次要模式。 在内部,它是基于弹 。这意味着你可以在 greping ( 或者 acking ) 文件。运行测试...

    archlinux下emacs中文乱码问题的解决及中文输入模块的添加.docx

    最后,需要在 Emacs 的配置文件中添加以下代码: ``` (require 'eim) (eim-use-package) ``` 重启 Emacs 后,将能够输入中文。 三、使用中文输入模块 使用中文输入模块需要在 Emacs 中启用中文输入模式。可以...

    emacs-elixir, Emacs主要Elixir模式.zip

    emacs-elixir, Emacs主要Elixir模式 Elixir模式提供字体锁定,缩进和导航支持 Elixir程序语言。 安装工具通过 package.el通过 el手动使用情况交互式命令配置文件Keymapping注释工具集成工具。

    windows下使用使用Emacs作为Python开发环境作为Python开发环境

    在提供的压缩包文件中,我们看到了`python-mode.el`,这是一个用于Emacs的Python模式源代码。你可以将这个文件放在Emacs的`~/.emacs.d`或`/site-lisp`目录下,这样Emacs就能找到并加载这个模式。 配置Emacs以启用...

    Emacs下用GDB调试

    在搜索结果中,当光标位于错误提示行时,按下`&lt;RET&gt;`可以跳转到源代码行。如果在GREP缓冲区中遇到同种错误,同样可以使用`C-x \`快速定位。 接下来,我们进入GUD(GNU调试器接口)调试部分。启动GDB调试会话,执行`...

    Emacs中文手册.pdf

    Emacs的窗口操作包括删除所有其它窗口、上下分割当前窗口、左右分割当前窗口、删除当前窗口、向下滚动其它窗口、向上滚动其它窗口、切换光标到另一个窗口、选择另一个窗口中的缓冲、显示另一个窗口中的缓冲、在另一...

    linux下emacs安装

    在Linux环境中,Emacs是一款非常强大的文本编辑器,深受程序员和系统管理员的喜爱。它提供了丰富的功能,包括代码编辑、文档编写、邮件处理等。本文将详细介绍如何在Linux系统下安装Emacs,以及如何利用提供的安装包...

    emacs 编程相关perl

    在Emacs中,Perl开发者可以利用各种Perl相关的模式、插件和工具来提升编程效率。例如,`cperl-mode`是Emacs内置的一种Perl编程模式,提供了语法高亮、自动缩进、括号匹配等功能,使得代码更易读写。此外,`flymake`...

    emacs用户手册(中文版).pdf

    - **持续学习与贡献**:Emacs社区活跃,用户可以通过贡献代码、文档或插件等方式参与到Emacs的发展中来,共同推动其进步。 ### 总结 Emacs是一款高度可定制的文本编辑器,具有悠久的历史和发展背景。它不仅提供了...

    windows下安装emacs及添加配置文件代码

    在本篇文章中,我们将详细介绍如何在Windows环境下安装Emacs文本编辑器,并且会涉及如何配置Emacs以便更好地适应用户的工作需求。以下将分为几个部分来进行详细的讲解:Emacs的安装步骤、配置文件`.emacs`的基本设置...

    Emacs详细安装配置,yasnippet和代码自动提示,强烈推荐

    Emacs详细安装配置,yasnippet和代码自动提示,强烈推荐 将文件解压到你的home目录下就可以,windows系统下放到 C:\Users\你的名字\AppData\Roaming下或者你自己设置的EMACS HOME目录

    emacs-tutorial-in-chinese, emacs系列教程,中文写作.zip

    在开源的世界里,Emacs以其开放源代码的特性,吸引了众多开发者对其进行改进和扩展,形成了无数的插件和配置方案。这个教程正是基于这种开源精神,为中文用户提供易懂的教学材料。 Emacs的核心概念包括缓冲区...

    Emacs配置及代码补全插件

    将文件夹中的“.emacs”文件复制到C:\ (由于系统限制暂时不支持代码不全) Linux: 1.打开文件夹,按住[Ctrl]+[H],并将文件夹里的文件全部复制到Home文件夹下 2.打开Emacs ,按住[Alt]+[[X]输入“load-file” 3.输入...

    精心整理的emacs资料集合

    Emacs中的模式(Mode)系统是其独特之处。每种模式针对特定类型的文件或任务,提供了相关的功能和快捷键。例如,编程模式如Python模式或C++模式,会提供语法高亮、代码折叠、自动完成等特性。除此之外,还有文本模式...

    emacs windows下emacs 编辑器

    emacs windows下emacs 编辑器 据说是神的编辑器

    emacs 中文手册

    * Emacs 提供了中文编辑环境,包括 Emacs 下的中文编辑、文化化的 EMACS - Mule 等。 Emacs 的其他相关事项 * Emacs 的其他相关事项包括 Registers and Bookmarks、文字的勘误、图形的编辑等。 Emacs 的基本概念...

    Survive in Emacs(Emacs生存指南).7z

    它的设计理念是通过Lisp语言扩展其功能,用户可以通过编写或修改Emacs Lisp代码来定制自己的工作环境。 在《Survive in Emacs》中,你将学习到以下关键知识点: 1. **基本操作**:如何启动Emacs,如何打开、保存和...

Global site tag (gtag.js) - Google Analytics